push clean refacto
This commit is contained in:
commit
2f61efd30f
12
.gitignore
vendored
Normal file
12
.gitignore
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
db.sqlite3
|
||||
Pipfile
|
||||
Pipfile.lock
|
||||
essay/__pycache__
|
||||
essay/__init__.py
|
||||
testenv_django_quiz/__pycache__
|
||||
testenv_django_quiz/__init__.py
|
||||
true_false/__pycache__
|
||||
true_false/__init__.py
|
||||
multichoice/__pycache__
|
||||
multichoice/__init__.py
|
||||
venv
|
||||
16
Dockerfile
Normal file
16
Dockerfile
Normal file
@ -0,0 +1,16 @@
|
||||
FROM python:3.11-slim-bookworm
|
||||
|
||||
ENV PYTHONDONTWRITEBYTECODE 1
|
||||
ENV PYTHONUNBUFFERED 1
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
gcc \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN mkdir /code
|
||||
WORKDIR /code
|
||||
|
||||
COPY quiz-app/requirements.txt /code/
|
||||
RUN pip install -r requirements.txt
|
||||
COPY quiz-app/. /code/
|
||||
CMD ["python3", "manage.py", "runserver", "0.0.0.0:8000"]
|
||||
69
README.md
Normal file
69
README.md
Normal file
@ -0,0 +1,69 @@
|
||||
# DJANGO QUIZZ
|
||||
|
||||
### Ce projet est une version fonctionnelle actualisée de Tom Walker (https://github.com/tomwalker/django_quiz).
|
||||
|
||||
les prérequis sont :
|
||||
- python 3.6
|
||||
- pip3
|
||||
- les librairies contenus dans le requirements.txt
|
||||
|
||||
Les modifications apportées concernent la librairy pour la lectures des classes codées en python2 :
|
||||
- Utilisation de la librairy six et utilisation de Django 2.2.9 (la 3.0 ne prends plus en charge python 2).
|
||||
- Modification du requirements.txt en conséquence.
|
||||
|
||||
|
||||
## INSTALLATION
|
||||
|
||||
git clone
|
||||
|
||||
cd djangoquizz
|
||||
|
||||
python3 manage.py runserver
|
||||
|
||||
## VISITER localhost:8000/admin et ce connecter avec les identifiants administrateur par défaut :
|
||||
|
||||
user : Greg
|
||||
|
||||
mot de passe : Juliette21
|
||||
|
||||
## Changer l'administrateur en créant un nouveaux utilisateur avec tous les droits, puis supprimer l'utilisateur "Greg"
|
||||
|
||||
## CREER SON QUIZZ !
|
||||
|
||||
### Creer son quizz en choisissant le type (multiplechoice) :
|
||||
|
||||
### Créer des questions :
|
||||
|
||||
### Créer des utilisateurs :
|
||||
|
||||
### Customiser le logo :
|
||||
|
||||
## Avec Docker :
|
||||
|
||||
### INSTALLATION
|
||||
|
||||
git clone
|
||||
|
||||
cd djangoquizz
|
||||
|
||||
docker build -t djangoquizz .
|
||||
|
||||
docker run -d -p 8000:8000 djangoquizz
|
||||
|
||||
### VISITER 0.0.0.0:8000/admin
|
||||
|
||||
admin : Greg / mdp: Juliette21
|
||||
|
||||
--> Pour modifier les acréditations de l'admin, éffectuer :
|
||||
|
||||
python manage.py makemigrations
|
||||
|
||||
python manage.py migrate
|
||||
|
||||
python manage.py createsuperuser
|
||||
|
||||
### Personnaliser :
|
||||
|
||||
- Modifier la dernière ligne pour spécifier une IP (ex: 192.168.1.1:8000)
|
||||
- --> répercuter l'adresse dans /testenv_django_quiz/settings.py dans ALLOWED_HOSTS = ['192.168.1.1']
|
||||
|
||||
10
docker-compose.yml
Normal file
10
docker-compose.yml
Normal file
@ -0,0 +1,10 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
djangoquiz:
|
||||
build: .
|
||||
container_name: djangoquiz
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8000:8000"
|
||||
|
||||
BIN
quiz-app/app/__pycache__/settings.cpython-311.pyc
Normal file
BIN
quiz-app/app/__pycache__/settings.cpython-311.pyc
Normal file
Binary file not shown.
BIN
quiz-app/app/__pycache__/urls.cpython-311.pyc
Normal file
BIN
quiz-app/app/__pycache__/urls.cpython-311.pyc
Normal file
Binary file not shown.
BIN
quiz-app/app/__pycache__/wsgi.cpython-311.pyc
Normal file
BIN
quiz-app/app/__pycache__/wsgi.cpython-311.pyc
Normal file
Binary file not shown.
145
quiz-app/app/settings.py
Normal file
145
quiz-app/app/settings.py
Normal file
@ -0,0 +1,145 @@
|
||||
from environs import Env
|
||||
import os
|
||||
|
||||
# pour utilisation des variables d'environnement pour les données sensibles
|
||||
envi = Env()
|
||||
Env.read_env()
|
||||
|
||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
# SECURITY WARNING: keep the secret key used in production secret!
|
||||
SECRET_KEY = 'cgx%r24k2zk(+1*1g)y=+60^2x$)_qj4tdkn(yk19z$v!^yo=_'
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = True
|
||||
|
||||
# valide en local et pour docker
|
||||
ALLOWED_HOSTS = ['*']
|
||||
|
||||
LOGIN_REDIRECT_URL = '/'
|
||||
LOGOUT_REDIRECT_URL = '/'
|
||||
|
||||
|
||||
# Application definition
|
||||
INSTALLED_APPS = [
|
||||
'django.contrib.admin',
|
||||
'django.contrib.auth',
|
||||
'django.contrib.contenttypes',
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.messages',
|
||||
'django.contrib.staticfiles',
|
||||
|
||||
# django_quiz apps
|
||||
'quiz',
|
||||
'multichoice',
|
||||
'true_false',
|
||||
'essay',
|
||||
'registration'
|
||||
]
|
||||
|
||||
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 = 'app.urls'
|
||||
|
||||
TEMPLATES = [
|
||||
{
|
||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||
'DIRS': [os.path.join(BASE_DIR, 'templates')],
|
||||
'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 = 'app.wsgi.application'
|
||||
|
||||
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Password validation
|
||||
# https://docs.djangoproject.com/en/2.2/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/2.2/topics/i18n/
|
||||
|
||||
LANGUAGE_CODE = 'fr'
|
||||
|
||||
TIME_ZONE = 'UTC'
|
||||
|
||||
USE_I18N = True
|
||||
|
||||
USE_L10N = True
|
||||
|
||||
USE_TZ = True
|
||||
|
||||
|
||||
# Static files (CSS, JavaScript, Images)
|
||||
# https://docs.djangoproject.com/en/2.2/howto/static-files/
|
||||
|
||||
STATIC_URL = '/static/'
|
||||
|
||||
|
||||
# pour envoyer des mail dans un dossier local
|
||||
# EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
||||
|
||||
# pour envoyer via GMAIL
|
||||
#EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
|
||||
#EMAIL_HOST = 'smtp.gmail.com'
|
||||
#EMAIL_HOST_USER = envi('EMAIL_HOST_USER')
|
||||
#EMAIL_HOST_PASSWORD = envi('EMAIL_HOST_PASSWORD')
|
||||
#EMAIL_PORT = 587
|
||||
#EMAIL_USE_TLS = True
|
||||
#LOGIN_REDIRECT_URL = '/'
|
||||
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
|
||||
#DEFAULT_FROM_EMAIL = 'quizz du garage numerique'
|
||||
|
||||
|
||||
## PRODUCTION CONFIG
|
||||
|
||||
#SENDGRID_API_KEY = os.getenv('SENDGRID_API_KEY')
|
||||
#EMAIL_HOST = 'smtp.sendgrid.net'
|
||||
#EMAIL_HOST_USER = 'apikey' # this is exactly the value 'apikey'
|
||||
#EMAIL_HOST_PASSWORD = SENDGRID_API_KEY
|
||||
#EMAIL_PORT = 587
|
||||
#EMAIL_USE_TLS = True
|
||||
|
||||
17
quiz-app/app/static/css/style.css
Normal file
17
quiz-app/app/static/css/style.css
Normal file
@ -0,0 +1,17 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Play&display=swap');
|
||||
|
||||
/* Appliquer les polices aux éléments du document */
|
||||
body {
|
||||
font-family: 'Play'; /* Aladin pour le corps du document */
|
||||
/* font-size: 1.5em; */
|
||||
}
|
||||
|
||||
.button-link {
|
||||
background: none;
|
||||
border: none;
|
||||
color: #497AA1;
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
font: inherit;
|
||||
}
|
||||
BIN
quiz-app/app/static/favicon.ico
Normal file
BIN
quiz-app/app/static/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.7 KiB |
BIN
quiz-app/app/static/images/wp.jpg
Normal file
BIN
quiz-app/app/static/images/wp.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 74 KiB |
BIN
quiz-app/app/static/logo.png
Normal file
BIN
quiz-app/app/static/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
8
quiz-app/app/urls.py
Normal file
8
quiz-app/app/urls.py
Normal file
@ -0,0 +1,8 @@
|
||||
from django.contrib import admin
|
||||
from django.urls import path, include
|
||||
|
||||
urlpatterns = [
|
||||
path('admin/', admin.site.urls),
|
||||
path('accounts/', include('django.contrib.auth.urls')),
|
||||
path('', include('quiz.urls')),
|
||||
]
|
||||
7
quiz-app/app/wsgi.py
Normal file
7
quiz-app/app/wsgi.py
Normal file
@ -0,0 +1,7 @@
|
||||
import os
|
||||
|
||||
from django.core.wsgi import get_wsgi_application
|
||||
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'app.settings')
|
||||
|
||||
application = get_wsgi_application()
|
||||
BIN
quiz-app/essay/__pycache__/models.cpython-311.pyc
Normal file
BIN
quiz-app/essay/__pycache__/models.cpython-311.pyc
Normal file
Binary file not shown.
BIN
quiz-app/essay/locale/de/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/essay/locale/de/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
28
quiz-app/essay/locale/de/LC_MESSAGES/django.po
Normal file
28
quiz-app/essay/locale/de/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,28 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-10-31 22:44+0000\n"
|
||||
"PO-Revision-Date: 2019-03-07 21:13+0100\n"
|
||||
"Last-Translator: Reiner Mayers\n"
|
||||
"Language: de\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"
|
||||
"X-Translated-Using: django-rosetta 0.7.6\n"
|
||||
"Language-Team: \n"
|
||||
"X-Generator: Poedit 2.0.6\n"
|
||||
|
||||
#: apps/essay/models.py:26
|
||||
msgid "Essay style question"
|
||||
msgstr "Aufsatzartige Frage"
|
||||
|
||||
#: apps/essay/models.py:27
|
||||
msgid "Essay style questions"
|
||||
msgstr "Aufsatzartige Frage"
|
||||
BIN
quiz-app/essay/locale/es_CO/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/essay/locale/es_CO/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
26
quiz-app/essay/locale/es_CO/LC_MESSAGES/django.po
Normal file
26
quiz-app/essay/locale/es_CO/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,26 @@
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# , 2014.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-quiz-essay\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-10-02 16:32+0000\n"
|
||||
"PO-Revision-Date: 2016-03-24 15:57-0500\n"
|
||||
"Language-Team: American English <kde-i18n-doc@kde.org>\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"
|
||||
"X-Generator: Poedit 1.8.4\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: es_CO\n"
|
||||
|
||||
#: models.py:23
|
||||
msgid "Essay style question"
|
||||
msgstr "Pregunta estilo ensayo"
|
||||
|
||||
#: models.py:24
|
||||
msgid "Essay style questions"
|
||||
msgstr "Preguntas estilo ensayo"
|
||||
BIN
quiz-app/essay/locale/it/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/essay/locale/it/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
28
quiz-app/essay/locale/it/LC_MESSAGES/django.po
Normal file
28
quiz-app/essay/locale/it/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,28 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-10-31 22:44+0000\n"
|
||||
"PO-Revision-Date: 2015-10-31 22:15+0000\n"
|
||||
"Last-Translator: b' <>'\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \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"
|
||||
"X-Translated-Using: django-rosetta 0.7.6\n"
|
||||
|
||||
#: apps/essay/models.py:26
|
||||
msgid "Essay style question"
|
||||
msgstr "Tipo di domanda per la prova "
|
||||
|
||||
#: apps/essay/models.py:27
|
||||
msgid "Essay style questions"
|
||||
msgstr "Tipo di domande per la prova "
|
||||
BIN
quiz-app/essay/locale/ru/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/essay/locale/ru/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
27
quiz-app/essay/locale/ru/LC_MESSAGES/django.po
Normal file
27
quiz-app/essay/locale/ru/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,27 @@
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# , 2014.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-quiz-essay\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-10-02 16:32+0000\n"
|
||||
"PO-Revision-Date: 2015-08-21 19:40+0500\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: American English <kde-i18n-doc@kde.org>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
|
||||
#: models.py:23
|
||||
msgid "Essay style question"
|
||||
msgstr "Эссе"
|
||||
|
||||
#: models.py:24
|
||||
msgid "Essay style questions"
|
||||
msgstr "Эссе"
|
||||
BIN
quiz-app/essay/locale/zh_CN/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/essay/locale/zh_CN/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
28
quiz-app/essay/locale/zh_CN/LC_MESSAGES/django.po
Normal file
28
quiz-app/essay/locale/zh_CN/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,28 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-10-31 22:44+0000\n"
|
||||
"PO-Revision-Date: 2015-10-31 22:15+0000\n"
|
||||
"Last-Translator: b' <>'\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \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"
|
||||
"X-Translated-Using: django-rosetta 0.7.6\n"
|
||||
|
||||
#: apps/essay/models.py:26
|
||||
msgid "Essay style question"
|
||||
msgstr "论述题"
|
||||
|
||||
#: apps/essay/models.py:27
|
||||
msgid "Essay style questions"
|
||||
msgstr "论述题"
|
||||
29
quiz-app/essay/migrations/0001_initial.py
Normal file
29
quiz-app/essay/migrations/0001_initial.py
Normal file
@ -0,0 +1,29 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.3 on 2017-06-22 11:20
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('quiz', '__first__'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Essay_Question',
|
||||
fields=[
|
||||
('question_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='quiz.Question')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Essay style question',
|
||||
'verbose_name_plural': 'Essay style questions',
|
||||
},
|
||||
bases=('quiz.question',),
|
||||
),
|
||||
]
|
||||
0
quiz-app/essay/migrations/__init__.py
Normal file
0
quiz-app/essay/migrations/__init__.py
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
quiz-app/essay/migrations/__pycache__/__init__.cpython-311.pyc
Normal file
BIN
quiz-app/essay/migrations/__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
BIN
quiz-app/essay/migrations/__pycache__/__init__.cpython-37.pyc
Normal file
BIN
quiz-app/essay/migrations/__pycache__/__init__.cpython-37.pyc
Normal file
Binary file not shown.
BIN
quiz-app/essay/migrations/__pycache__/__init__.cpython-38.pyc
Normal file
BIN
quiz-app/essay/migrations/__pycache__/__init__.cpython-38.pyc
Normal file
Binary file not shown.
BIN
quiz-app/essay/migrations/__pycache__/__init__.cpython-39.pyc
Normal file
BIN
quiz-app/essay/migrations/__pycache__/__init__.cpython-39.pyc
Normal file
Binary file not shown.
29
quiz-app/essay/models.py
Normal file
29
quiz-app/essay/models.py
Normal file
@ -0,0 +1,29 @@
|
||||
from __future__ import unicode_literals
|
||||
# from django.utils.encoding import python_2_unicode_compatible
|
||||
from six import python_2_unicode_compatible
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from quiz.models import Question
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Essay_Question(Question):
|
||||
|
||||
def check_if_correct(self, guess):
|
||||
return False
|
||||
|
||||
def get_answers(self):
|
||||
return False
|
||||
|
||||
def get_answers_list(self):
|
||||
return False
|
||||
|
||||
def answer_choice_to_string(self, guess):
|
||||
return str(guess)
|
||||
|
||||
def __str__(self):
|
||||
return self.content
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("Essay style question")
|
||||
verbose_name_plural = _("Essay style questions")
|
||||
22
quiz-app/essay/tests.py
Normal file
22
quiz-app/essay/tests.py
Normal file
@ -0,0 +1,22 @@
|
||||
from django.test import TestCase
|
||||
|
||||
from .models import Essay_Question
|
||||
|
||||
|
||||
class TestEssayQuestionModel(TestCase):
|
||||
def setUp(self):
|
||||
self.essay = Essay_Question.objects.create(content="Tell me stuff",
|
||||
explanation="Wow!")
|
||||
|
||||
def test_always_false(self):
|
||||
self.assertEqual(self.essay.check_if_correct('spam'), False)
|
||||
self.assertEqual(self.essay.get_answers(), False)
|
||||
self.assertEqual(self.essay.get_answers_list(), False)
|
||||
|
||||
def test_returns_guess(self):
|
||||
guess = "To be or not to be"
|
||||
self.assertEqual(self.essay.answer_choice_to_string(guess), guess)
|
||||
|
||||
def test_answer_to_string(self):
|
||||
self.assertEqual('To be...',
|
||||
self.essay.answer_choice_to_string('To be...'))
|
||||
14
quiz-app/manage.py
Executable file
14
quiz-app/manage.py
Executable file
@ -0,0 +1,14 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
if __name__ == '__main__':
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'app.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)
|
||||
BIN
quiz-app/multichoice/__pycache__/models.cpython-311.pyc
Normal file
BIN
quiz-app/multichoice/__pycache__/models.cpython-311.pyc
Normal file
Binary file not shown.
BIN
quiz-app/multichoice/locale/de/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/multichoice/locale/de/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
72
quiz-app/multichoice/locale/de/LC_MESSAGES/django.po
Normal file
72
quiz-app/multichoice/locale/de/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,72 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-10-31 22:44+0000\n"
|
||||
"PO-Revision-Date: 2019-03-07 21:13+0100\n"
|
||||
"Last-Translator: Reiner Mayers\n"
|
||||
"Language: de\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"
|
||||
"X-Translated-Using: django-rosetta 0.7.6\n"
|
||||
"Language-Team: \n"
|
||||
"X-Generator: Poedit 2.0.6\n"
|
||||
|
||||
#: apps/multichoice/models.py:9 apps/multichoice/models.py:65
|
||||
msgid "Content"
|
||||
msgstr "Inhalt"
|
||||
|
||||
#: apps/multichoice/models.py:10
|
||||
msgid "Random"
|
||||
msgstr "Zufällig"
|
||||
|
||||
#: apps/multichoice/models.py:11
|
||||
msgid "None"
|
||||
msgstr "Kein"
|
||||
|
||||
#: apps/multichoice/models.py:20
|
||||
msgid "The order in which multichoice answer options are displayed to the user"
|
||||
msgstr "Reihenfolge in der Multichoice Antworten dem Benutzer angezeigt werden"
|
||||
|
||||
#: apps/multichoice/models.py:23
|
||||
msgid "Answer Order"
|
||||
msgstr "Antwort Reihenfolge"
|
||||
|
||||
#: apps/multichoice/models.py:53
|
||||
msgid "Multiple Choice Question"
|
||||
msgstr "Multiple Choice Frage"
|
||||
|
||||
#: apps/multichoice/models.py:54
|
||||
msgid "Multiple Choice Questions"
|
||||
msgstr "Multiple Choice Frage"
|
||||
|
||||
#: apps/multichoice/models.py:59
|
||||
msgid "Question"
|
||||
msgstr "Frage"
|
||||
|
||||
#: apps/multichoice/models.py:63
|
||||
msgid "Enter the answer text that you want displayed"
|
||||
msgstr "Geben Sie den Antworttext ein der angezeigt werden soll"
|
||||
|
||||
#: apps/multichoice/models.py:69
|
||||
msgid "Is this a correct answer?"
|
||||
msgstr "Ist diese Antwort richtig?"
|
||||
|
||||
#: apps/multichoice/models.py:70
|
||||
msgid "Correct"
|
||||
msgstr "Korrekt"
|
||||
|
||||
#: apps/multichoice/models.py:76
|
||||
msgid "Answer"
|
||||
msgstr "Antwort"
|
||||
|
||||
#: apps/multichoice/models.py:77
|
||||
msgid "Answers"
|
||||
msgstr "Antworten"
|
||||
BIN
quiz-app/multichoice/locale/es_CO/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/multichoice/locale/es_CO/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
70
quiz-app/multichoice/locale/es_CO/LC_MESSAGES/django.po
Normal file
70
quiz-app/multichoice/locale/es_CO/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,70 @@
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# , 2014.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-quiz-multichoice\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-10-02 16:35+0000\n"
|
||||
"PO-Revision-Date: 2016-03-24 16:00-0500\n"
|
||||
"Language-Team: American English <kde-i18n-doc@kde.org>\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"
|
||||
"X-Generator: Poedit 1.8.4\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: es_CO\n"
|
||||
|
||||
#: models.py:7 models.py:61
|
||||
msgid "Content"
|
||||
msgstr "Contenido"
|
||||
|
||||
#: models.py:8
|
||||
msgid "Random"
|
||||
msgstr "Aleatorio"
|
||||
|
||||
#: models.py:9
|
||||
msgid "None"
|
||||
msgstr "Ninguna"
|
||||
|
||||
#: models.py:17
|
||||
msgid "The order in which multichoice answer options are displayed to the user"
|
||||
msgstr "El orden en que las opciones de respuesta de elección múltiple se muestran al usuario"
|
||||
|
||||
#: models.py:20
|
||||
msgid "Answer Order"
|
||||
msgstr "Orden de las Respuestas"
|
||||
|
||||
#: models.py:50
|
||||
msgid "Multiple Choice Question"
|
||||
msgstr "Pregunta de opción múltiple"
|
||||
|
||||
#: models.py:51
|
||||
msgid "Multiple Choice Questions"
|
||||
msgstr "Preguntas de opción múltiple"
|
||||
|
||||
#: models.py:55
|
||||
msgid "Question"
|
||||
msgstr "Pregunta"
|
||||
|
||||
#: models.py:59
|
||||
msgid "Enter the answer text that you want displayed"
|
||||
msgstr "Ingrese el texto de la respuesta que desea mostrar"
|
||||
|
||||
#: models.py:65
|
||||
msgid "Is this a correct answer?"
|
||||
msgstr "¿Es esta una respuesta correcta?"
|
||||
|
||||
#: models.py:66
|
||||
msgid "Correct"
|
||||
msgstr "Correcto"
|
||||
|
||||
#: models.py:72
|
||||
msgid "Answer"
|
||||
msgstr "Respuesta"
|
||||
|
||||
#: models.py:73
|
||||
msgid "Answers"
|
||||
msgstr "Respuestas"
|
||||
BIN
quiz-app/multichoice/locale/it/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/multichoice/locale/it/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
74
quiz-app/multichoice/locale/it/LC_MESSAGES/django.po
Normal file
74
quiz-app/multichoice/locale/it/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,74 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-10-31 22:44+0000\n"
|
||||
"PO-Revision-Date: 2015-10-31 22:19+0000\n"
|
||||
"Last-Translator: b' <>'\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \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"
|
||||
"X-Translated-Using: django-rosetta 0.7.6\n"
|
||||
|
||||
#: apps/multichoice/models.py:9 apps/multichoice/models.py:65
|
||||
msgid "Content"
|
||||
msgstr "Contenuto"
|
||||
|
||||
#: apps/multichoice/models.py:10
|
||||
msgid "Random"
|
||||
msgstr "Casuale"
|
||||
|
||||
#: apps/multichoice/models.py:11
|
||||
msgid "None"
|
||||
msgstr "Nessuno"
|
||||
|
||||
#: apps/multichoice/models.py:20
|
||||
msgid "The order in which multichoice answer options are displayed to the user"
|
||||
msgstr ""
|
||||
"Ordine in cui le risposte multiple disponibili vengono visualizzate "
|
||||
"all'utente"
|
||||
|
||||
#: apps/multichoice/models.py:23
|
||||
msgid "Answer Order"
|
||||
msgstr "Ordine Risposte"
|
||||
|
||||
#: apps/multichoice/models.py:53
|
||||
msgid "Multiple Choice Question"
|
||||
msgstr "Domanda a risposta multipla"
|
||||
|
||||
#: apps/multichoice/models.py:54
|
||||
msgid "Multiple Choice Questions"
|
||||
msgstr "Domande a risposta multipla"
|
||||
|
||||
#: apps/multichoice/models.py:59
|
||||
msgid "Question"
|
||||
msgstr "Domanda"
|
||||
|
||||
#: apps/multichoice/models.py:63
|
||||
msgid "Enter the answer text that you want displayed"
|
||||
msgstr "Inserisci il testo della risposta che vuoi visualizzare"
|
||||
|
||||
#: apps/multichoice/models.py:69
|
||||
msgid "Is this a correct answer?"
|
||||
msgstr "Questa è la risposta corretta?"
|
||||
|
||||
#: apps/multichoice/models.py:70
|
||||
msgid "Correct"
|
||||
msgstr "Corretto"
|
||||
|
||||
#: apps/multichoice/models.py:76
|
||||
msgid "Answer"
|
||||
msgstr "Risposta"
|
||||
|
||||
#: apps/multichoice/models.py:77
|
||||
msgid "Answers"
|
||||
msgstr "Risposte"
|
||||
BIN
quiz-app/multichoice/locale/ru/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/multichoice/locale/ru/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
71
quiz-app/multichoice/locale/ru/LC_MESSAGES/django.po
Normal file
71
quiz-app/multichoice/locale/ru/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,71 @@
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# , 2014.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-quiz-multichoice\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-10-02 16:35+0000\n"
|
||||
"PO-Revision-Date: 2015-08-21 19:39+0500\n"
|
||||
"Last-Translator: Eugena Mihailikova <eugena.mihailikova@gmail.com>\n"
|
||||
"Language-Team: American English <kde-i18n-doc@kde.org>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
|
||||
#: models.py:7 models.py:61
|
||||
msgid "Content"
|
||||
msgstr "Содержание"
|
||||
|
||||
#: models.py:8
|
||||
msgid "Random"
|
||||
msgstr "Случайно"
|
||||
|
||||
#: models.py:9
|
||||
msgid "None"
|
||||
msgstr "Ничего"
|
||||
|
||||
#: models.py:17
|
||||
msgid "The order in which multichoice answer options are displayed to the user"
|
||||
msgstr "Порядок отображения вопросов"
|
||||
|
||||
#: models.py:20
|
||||
msgid "Answer Order"
|
||||
msgstr "Порядок вопросов"
|
||||
|
||||
#: models.py:50
|
||||
msgid "Multiple Choice Question"
|
||||
msgstr "Вопрос с несколькими вариантами ответов"
|
||||
|
||||
#: models.py:51
|
||||
msgid "Multiple Choice Questions"
|
||||
msgstr "Вопросы с несколькими вариантами ответов"
|
||||
|
||||
#: models.py:55
|
||||
msgid "Question"
|
||||
msgstr "Вопрос"
|
||||
|
||||
#: models.py:59
|
||||
msgid "Enter the answer text that you want displayed"
|
||||
msgstr "Введите текст ответа"
|
||||
|
||||
#: models.py:65
|
||||
msgid "Is this a correct answer?"
|
||||
msgstr "Это правильный ответ?"
|
||||
|
||||
#: models.py:66
|
||||
msgid "Correct"
|
||||
msgstr "Правильно"
|
||||
|
||||
#: models.py:72
|
||||
msgid "Answer"
|
||||
msgstr "Вопрос"
|
||||
|
||||
#: models.py:73
|
||||
msgid "Answers"
|
||||
msgstr "Вопросы"
|
||||
BIN
quiz-app/multichoice/locale/zh_CN/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/multichoice/locale/zh_CN/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
72
quiz-app/multichoice/locale/zh_CN/LC_MESSAGES/django.po
Normal file
72
quiz-app/multichoice/locale/zh_CN/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,72 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-10-31 22:44+0000\n"
|
||||
"PO-Revision-Date: 2015-10-31 22:19+0000\n"
|
||||
"Last-Translator: b' <>'\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \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"
|
||||
"X-Translated-Using: django-rosetta 0.7.6\n"
|
||||
|
||||
#: apps/multichoice/models.py:9 apps/multichoice/models.py:65
|
||||
msgid "Content"
|
||||
msgstr "内容"
|
||||
|
||||
#: apps/multichoice/models.py:10
|
||||
msgid "Random"
|
||||
msgstr "随机"
|
||||
|
||||
#: apps/multichoice/models.py:11
|
||||
msgid "None"
|
||||
msgstr "无"
|
||||
|
||||
#: apps/multichoice/models.py:20
|
||||
msgid "The order in which multichoice answer options are displayed to the user"
|
||||
msgstr "向用户显示多选答案选项时的次序"
|
||||
|
||||
#: apps/multichoice/models.py:23
|
||||
msgid "Answer Order"
|
||||
msgstr "答案次序"
|
||||
|
||||
#: apps/multichoice/models.py:53
|
||||
msgid "Multiple Choice Question"
|
||||
msgstr "多选题"
|
||||
|
||||
#: apps/multichoice/models.py:54
|
||||
msgid "Multiple Choice Questions"
|
||||
msgstr "多选题"
|
||||
|
||||
#: apps/multichoice/models.py:59
|
||||
msgid "Question"
|
||||
msgstr "问题"
|
||||
|
||||
#: apps/multichoice/models.py:63
|
||||
msgid "Enter the answer text that you want displayed"
|
||||
msgstr "输入你想显示的答案文本"
|
||||
|
||||
#: apps/multichoice/models.py:69
|
||||
msgid "Is this a correct answer?"
|
||||
msgstr "这个答案正确吗?"
|
||||
|
||||
#: apps/multichoice/models.py:70
|
||||
msgid "Correct"
|
||||
msgstr "正确"
|
||||
|
||||
#: apps/multichoice/models.py:76
|
||||
msgid "Answer"
|
||||
msgstr "答案"
|
||||
|
||||
#: apps/multichoice/models.py:77
|
||||
msgid "Answers"
|
||||
msgstr "答案"
|
||||
47
quiz-app/multichoice/migrations/0001_initial.py
Normal file
47
quiz-app/multichoice/migrations/0001_initial.py
Normal file
@ -0,0 +1,47 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.3 on 2017-06-22 11:20
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('quiz', '__first__'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Answer',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('content', models.CharField(help_text='Enter the answer text that you want displayed', max_length=1000, verbose_name='Content')),
|
||||
('correct', models.BooleanField(default=False, help_text='Is this a correct answer?', verbose_name='Correct')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Answer',
|
||||
'verbose_name_plural': 'Answers',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='MCQuestion',
|
||||
fields=[
|
||||
('question_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='quiz.Question')),
|
||||
('answer_order', models.CharField(blank=True, choices=[('content', 'Content'), ('random', 'Random'), ('none', 'None')], help_text='The order in which multichoice answer options are displayed to the user', max_length=30, null=True, verbose_name='Answer Order')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Multiple Choice Question',
|
||||
'verbose_name_plural': 'Multiple Choice Questions',
|
||||
},
|
||||
bases=('quiz.question',),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='answer',
|
||||
name='question',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='multichoice.MCQuestion', verbose_name='Question'),
|
||||
),
|
||||
]
|
||||
0
quiz-app/multichoice/migrations/__init__.py
Normal file
0
quiz-app/multichoice/migrations/__init__.py
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
78
quiz-app/multichoice/models.py
Normal file
78
quiz-app/multichoice/models.py
Normal file
@ -0,0 +1,78 @@
|
||||
from __future__ import unicode_literals
|
||||
# from django.utils.encoding import python_2_unicode_compatible
|
||||
from six import python_2_unicode_compatible
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.db import models
|
||||
from quiz.models import Question
|
||||
|
||||
|
||||
ANSWER_ORDER_OPTIONS = (
|
||||
('content', _('Content')),
|
||||
('random', _('Random')),
|
||||
('none', _('None'))
|
||||
)
|
||||
|
||||
|
||||
class MCQuestion(Question):
|
||||
|
||||
answer_order = models.CharField(
|
||||
max_length=30, null=True, blank=True,
|
||||
choices=ANSWER_ORDER_OPTIONS,
|
||||
help_text=_("The order in which multichoice "
|
||||
"answer options are displayed "
|
||||
"to the user"),
|
||||
verbose_name=_("Answer Order"))
|
||||
|
||||
def check_if_correct(self, guess):
|
||||
answer = Answer.objects.get(id=guess)
|
||||
|
||||
if answer.correct is True:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
def order_answers(self, queryset):
|
||||
if self.answer_order == 'content':
|
||||
return queryset.order_by('content')
|
||||
if self.answer_order == 'random':
|
||||
return queryset.order_by('?')
|
||||
if self.answer_order == 'none':
|
||||
return queryset.order_by()
|
||||
return queryset
|
||||
|
||||
def get_answers(self):
|
||||
return self.order_answers(Answer.objects.filter(question=self))
|
||||
|
||||
def get_answers_list(self):
|
||||
return [(answer.id, answer.content) for answer in
|
||||
self.order_answers(Answer.objects.filter(question=self))]
|
||||
|
||||
def answer_choice_to_string(self, guess):
|
||||
return Answer.objects.get(id=guess).content
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("Multiple Choice Question")
|
||||
verbose_name_plural = _("Multiple Choice Questions")
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Answer(models.Model):
|
||||
question = models.ForeignKey(MCQuestion, verbose_name=_("Question"), on_delete=models.CASCADE)
|
||||
|
||||
content = models.CharField(max_length=1000,
|
||||
blank=False,
|
||||
help_text=_("Enter the answer text that "
|
||||
"you want displayed"),
|
||||
verbose_name=_("Content"))
|
||||
|
||||
correct = models.BooleanField(blank=False,
|
||||
default=False,
|
||||
help_text=_("Is this a correct answer?"),
|
||||
verbose_name=_("Correct"))
|
||||
|
||||
def __str__(self):
|
||||
return self.content
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("Answer")
|
||||
verbose_name_plural = _("Answers")
|
||||
BIN
quiz-app/multichoice/static/logo.png
Normal file
BIN
quiz-app/multichoice/static/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
52
quiz-app/multichoice/tests.py
Normal file
52
quiz-app/multichoice/tests.py
Normal file
@ -0,0 +1,52 @@
|
||||
from django.core.files.base import ContentFile
|
||||
from django.db.models.fields.files import ImageFieldFile
|
||||
from django.test import TestCase
|
||||
from django.utils.six import StringIO
|
||||
|
||||
from .models import MCQuestion, Answer
|
||||
|
||||
|
||||
class TestMCQuestionModel(TestCase):
|
||||
def setUp(self):
|
||||
self.q = MCQuestion.objects.create(id=1,
|
||||
content=("WHAT is the airspeed" +
|
||||
"velocity of an unladen" +
|
||||
"swallow?"),
|
||||
explanation="I, I don't know that!")
|
||||
|
||||
self.answer1 = Answer.objects.create(id=123,
|
||||
question=self.q,
|
||||
content="African",
|
||||
correct=False)
|
||||
|
||||
self.answer2 = Answer.objects.create(id=456,
|
||||
question=self.q,
|
||||
content="European",
|
||||
correct=True)
|
||||
|
||||
def test_answers(self):
|
||||
answers = Answer.objects.filter(question=self.q)
|
||||
correct_a = Answer.objects.get(question=self.q,
|
||||
correct=True)
|
||||
answers_by_method = self.q.get_answers()
|
||||
|
||||
self.assertEqual(answers.count(), 2)
|
||||
self.assertEqual(correct_a.content, "European")
|
||||
self.assertEqual(self.q.check_if_correct(123), False)
|
||||
self.assertEqual(self.q.check_if_correct(456), True)
|
||||
self.assertEqual(answers_by_method.count(), 2)
|
||||
self.assertEqual(self.q.answer_choice_to_string(123),
|
||||
self.answer1.content)
|
||||
|
||||
def test_figure(self):
|
||||
# http://stackoverflow.com/a/2473445/1694979
|
||||
imgfile = StringIO(
|
||||
'GIF87a\x01\x00\x01\x00\x80\x01\x00\x00\x00\x00ccc,'
|
||||
'\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02D\x01\x00;')
|
||||
imgfile.name = 'test_img_file.gif'
|
||||
|
||||
self.q.figure.save('image', ContentFile(imgfile.read()))
|
||||
self.assertIsInstance(self.q.figure, ImageFieldFile)
|
||||
|
||||
def test_answer_to_string(self):
|
||||
self.assertEqual('African', self.q.answer_choice_to_string(123))
|
||||
BIN
quiz-app/quiz/__pycache__/admin.cpython-311.pyc
Normal file
BIN
quiz-app/quiz/__pycache__/admin.cpython-311.pyc
Normal file
Binary file not shown.
BIN
quiz-app/quiz/__pycache__/forms.cpython-311.pyc
Normal file
BIN
quiz-app/quiz/__pycache__/forms.cpython-311.pyc
Normal file
Binary file not shown.
BIN
quiz-app/quiz/__pycache__/models.cpython-311.pyc
Normal file
BIN
quiz-app/quiz/__pycache__/models.cpython-311.pyc
Normal file
Binary file not shown.
BIN
quiz-app/quiz/__pycache__/urls.cpython-311.pyc
Normal file
BIN
quiz-app/quiz/__pycache__/urls.cpython-311.pyc
Normal file
Binary file not shown.
BIN
quiz-app/quiz/__pycache__/views.cpython-311.pyc
Normal file
BIN
quiz-app/quiz/__pycache__/views.cpython-311.pyc
Normal file
Binary file not shown.
112
quiz-app/quiz/admin.py
Normal file
112
quiz-app/quiz/admin.py
Normal file
@ -0,0 +1,112 @@
|
||||
from django import forms
|
||||
from django.contrib import admin
|
||||
from django.contrib.admin.widgets import FilteredSelectMultiple
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from .models import Quiz, Category, SubCategory, Progress, Question
|
||||
from multichoice.models import MCQuestion, Answer
|
||||
from true_false.models import TF_Question
|
||||
from essay.models import Essay_Question
|
||||
|
||||
|
||||
class AnswerInline(admin.TabularInline):
|
||||
model = Answer
|
||||
|
||||
|
||||
class QuizAdminForm(forms.ModelForm):
|
||||
"""
|
||||
below is from
|
||||
http://stackoverflow.com/questions/11657682/
|
||||
django-admin-interface-using-horizontal-filter-with-
|
||||
inline-manytomany-field
|
||||
"""
|
||||
|
||||
class Meta:
|
||||
model = Quiz
|
||||
exclude = []
|
||||
|
||||
questions = forms.ModelMultipleChoiceField(
|
||||
queryset=Question.objects.all().select_subclasses(),
|
||||
required=False,
|
||||
label=_("Questions"),
|
||||
widget=FilteredSelectMultiple(
|
||||
verbose_name=_("Questions"),
|
||||
is_stacked=False))
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(QuizAdminForm, self).__init__(*args, **kwargs)
|
||||
if self.instance.pk:
|
||||
self.fields['questions'].initial =\
|
||||
self.instance.question_set.all().select_subclasses()
|
||||
|
||||
def save(self, commit=True):
|
||||
quiz = super(QuizAdminForm, self).save(commit=False)
|
||||
quiz.save()
|
||||
quiz.question_set.set(self.cleaned_data['questions'])
|
||||
self.save_m2m()
|
||||
return quiz
|
||||
|
||||
|
||||
class QuizAdmin(admin.ModelAdmin):
|
||||
form = QuizAdminForm
|
||||
|
||||
list_display = ('title', 'category', )
|
||||
list_filter = ('category',)
|
||||
search_fields = ('description', 'category', )
|
||||
|
||||
|
||||
class CategoryAdmin(admin.ModelAdmin):
|
||||
search_fields = ('category', )
|
||||
|
||||
|
||||
class SubCategoryAdmin(admin.ModelAdmin):
|
||||
search_fields = ('sub_category', )
|
||||
list_display = ('sub_category', 'category',)
|
||||
list_filter = ('category',)
|
||||
|
||||
|
||||
class MCQuestionAdmin(admin.ModelAdmin):
|
||||
list_display = ('content', 'category', 'sub_category')
|
||||
list_filter = ('category', 'sub_category')
|
||||
fields = ('content', 'category', 'sub_category',
|
||||
'figure', 'quiz', 'explanation', 'answer_order')
|
||||
|
||||
search_fields = ('content', 'explanation')
|
||||
filter_horizontal = ('quiz',)
|
||||
|
||||
inlines = [AnswerInline]
|
||||
|
||||
|
||||
class ProgressAdmin(admin.ModelAdmin):
|
||||
"""
|
||||
to do:
|
||||
create a user section
|
||||
"""
|
||||
#search_fields = ('user', 'score', )
|
||||
#fields = ('user_answers',)
|
||||
|
||||
|
||||
class TFQuestionAdmin(admin.ModelAdmin):
|
||||
list_display = ('content', 'category', )
|
||||
list_filter = ('category',)
|
||||
fields = ('content', 'category', 'sub_category',
|
||||
'figure', 'quiz', 'explanation', 'correct',)
|
||||
|
||||
search_fields = ('content', 'explanation')
|
||||
filter_horizontal = ('quiz',)
|
||||
|
||||
|
||||
class EssayQuestionAdmin(admin.ModelAdmin):
|
||||
list_display = ('content', 'category', )
|
||||
list_filter = ('category',)
|
||||
fields = ('content', 'category', 'sub_category', 'quiz', 'explanation', )
|
||||
search_fields = ('content', 'explanation')
|
||||
filter_horizontal = ('quiz',)
|
||||
|
||||
admin.site.register(Quiz, QuizAdmin)
|
||||
admin.site.register(Category, CategoryAdmin)
|
||||
admin.site.register(SubCategory, SubCategoryAdmin)
|
||||
admin.site.register(MCQuestion, MCQuestionAdmin)
|
||||
admin.site.register(Progress, ProgressAdmin)
|
||||
admin.site.register(TF_Question, TFQuestionAdmin)
|
||||
admin.site.register(Essay_Question, EssayQuestionAdmin)
|
||||
17
quiz-app/quiz/forms.py
Normal file
17
quiz-app/quiz/forms.py
Normal file
@ -0,0 +1,17 @@
|
||||
from django import forms
|
||||
from django.forms.widgets import RadioSelect, Textarea
|
||||
|
||||
|
||||
class QuestionForm(forms.Form):
|
||||
def __init__(self, question, *args, **kwargs):
|
||||
super(QuestionForm, self).__init__(*args, **kwargs)
|
||||
choice_list = [x for x in question.get_answers_list()]
|
||||
self.fields["answers"] = forms.ChoiceField(choices=choice_list,
|
||||
widget=RadioSelect)
|
||||
|
||||
|
||||
class EssayForm(forms.Form):
|
||||
def __init__(self, question, *args, **kwargs):
|
||||
super(EssayForm, self).__init__(*args, **kwargs)
|
||||
self.fields["answers"] = forms.CharField(
|
||||
widget=Textarea(attrs={'style': 'width:100%'}))
|
||||
BIN
quiz-app/quiz/locale/de/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/quiz/locale/de/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
476
quiz-app/quiz/locale/de/LC_MESSAGES/django.po
Normal file
476
quiz-app/quiz/locale/de/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,476 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-10-31 22:44+0000\n"
|
||||
"PO-Revision-Date: 2019-03-07 21:14+0100\n"
|
||||
"Last-Translator: Reiner Mayers\n"
|
||||
"Language: de\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"
|
||||
"X-Translated-Using: django-rosetta 0.7.6\n"
|
||||
"Language-Team: \n"
|
||||
"X-Generator: Poedit 2.0.6\n"
|
||||
|
||||
#: apps/quiz/models.py:30 apps/quiz/models.py:37 apps/quiz/models.py:53
|
||||
#: apps/quiz/models.py:83 apps/quiz/models.py:545
|
||||
#: apps/quiz/templates/progress.html:19
|
||||
#: apps/quiz/templates/quiz/quiz_detail.html:9
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:13
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:10
|
||||
msgid "Category"
|
||||
msgstr "Kategorie"
|
||||
|
||||
#: apps/quiz/models.py:38
|
||||
msgid "Categories"
|
||||
msgstr "Kategorien"
|
||||
|
||||
#: apps/quiz/models.py:48 apps/quiz/models.py:58 apps/quiz/models.py:550
|
||||
msgid "Sub-Category"
|
||||
msgstr "Unterkategorie"
|
||||
|
||||
#: apps/quiz/models.py:59
|
||||
msgid "Sub-Categories"
|
||||
msgstr "Unterkategorien"
|
||||
|
||||
#: apps/quiz/models.py:69 apps/quiz/templates/quiz/quiz_list.html:12
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
|
||||
#: apps/quiz/models.py:73
|
||||
msgid "Description"
|
||||
msgstr "Beschreibung"
|
||||
|
||||
#: apps/quiz/models.py:74
|
||||
msgid "a description of the quiz"
|
||||
msgstr "Eine Beschreibung des Quiz"
|
||||
|
||||
#: apps/quiz/models.py:78
|
||||
msgid "a user friendly url"
|
||||
msgstr "Eine benutzerfreundliche url"
|
||||
|
||||
#: apps/quiz/models.py:79
|
||||
msgid "user friendly url"
|
||||
msgstr "benutzerfreundliche url"
|
||||
|
||||
#: apps/quiz/models.py:87
|
||||
msgid "Random Order"
|
||||
msgstr "Zufällige Reihenfolge"
|
||||
|
||||
#: apps/quiz/models.py:88
|
||||
msgid "Display the questions in a random order or as they are set?"
|
||||
msgstr "Fragen zufällig anzeigen oder in der Eingabereihenfolge?"
|
||||
|
||||
#: apps/quiz/models.py:93
|
||||
msgid "Max Questions"
|
||||
msgstr "Maximale Anzahl der Fragen"
|
||||
|
||||
#: apps/quiz/models.py:94
|
||||
msgid "Number of questions to be answered on each attempt."
|
||||
msgstr "Anzahl der Fragen die bei jedem Versuch gestellt werden."
|
||||
|
||||
#: apps/quiz/models.py:98
|
||||
msgid ""
|
||||
"Correct answer is NOT shown after question. Answers displayed at the end."
|
||||
msgstr ""
|
||||
"Die Richtige Antwort wird nicht nach der Frage angezeigt sondern am Ende."
|
||||
|
||||
#: apps/quiz/models.py:100
|
||||
msgid "Answers at end"
|
||||
msgstr "Antworten am Ende"
|
||||
|
||||
#: apps/quiz/models.py:104
|
||||
msgid ""
|
||||
"If yes, the result of each attempt by a user will be stored. Necessary for "
|
||||
"marking."
|
||||
msgstr ""
|
||||
"Wenn ja, wird das Ergebnis jeden Versuchs gespeichert. Zum markieren ist die "
|
||||
"notwendig."
|
||||
|
||||
#: apps/quiz/models.py:107
|
||||
msgid "Exam Paper"
|
||||
msgstr "Prüfungsarbeit"
|
||||
|
||||
#: apps/quiz/models.py:111
|
||||
msgid ""
|
||||
"If yes, only one attempt by a user will be permitted. Non users cannot sit "
|
||||
"this exam."
|
||||
msgstr ""
|
||||
"Wenn ja wird nur ein Versuch pro Anwender zugelassen. Nur angemeldete "
|
||||
"Anwender können diese Prüfung machen."
|
||||
|
||||
#: apps/quiz/models.py:114
|
||||
msgid "Single Attempt"
|
||||
msgstr "Nur ein Versuch"
|
||||
|
||||
#: apps/quiz/models.py:118
|
||||
msgid "Percentage required to pass exam."
|
||||
msgstr "Prozent zum bestehen der Prüfung."
|
||||
|
||||
#: apps/quiz/models.py:122
|
||||
msgid "Displayed if user passes."
|
||||
msgstr "Angezeigt wenn der Anwender besteht."
|
||||
|
||||
#: apps/quiz/models.py:123
|
||||
msgid "Success Text"
|
||||
msgstr "Text für den Erfolg"
|
||||
|
||||
#: apps/quiz/models.py:126
|
||||
msgid "Fail Text"
|
||||
msgstr "Text für den Misserfolg"
|
||||
|
||||
#: apps/quiz/models.py:127
|
||||
msgid "Displayed if user fails."
|
||||
msgstr "Wird angezeigt wenn der Anwender durchfällt."
|
||||
|
||||
#: apps/quiz/models.py:131
|
||||
msgid "Draft"
|
||||
msgstr "Entwurf"
|
||||
|
||||
#: apps/quiz/models.py:132
|
||||
msgid ""
|
||||
"If yes, the quiz is not displayed in the quiz list and can only be taken by "
|
||||
"users who can edit quizzes."
|
||||
msgstr ""
|
||||
"Wenn ja wird die Prüfung nicht in der Prüfungsliste angezeigt und kann nur "
|
||||
"von Anwendern ausgeführt werden welche Prüfungen bearbeiten können."
|
||||
|
||||
#: apps/quiz/models.py:152 apps/quiz/models.py:372 apps/quiz/models.py:541
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:14
|
||||
msgid "Quiz"
|
||||
msgstr "Quiz"
|
||||
|
||||
#: apps/quiz/models.py:153
|
||||
msgid "Quizzes"
|
||||
msgstr "Quizze"
|
||||
|
||||
#: apps/quiz/models.py:192 apps/quiz/models.py:370
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:13
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:13
|
||||
msgid "User"
|
||||
msgstr "Anwender"
|
||||
|
||||
#: apps/quiz/models.py:195 apps/quiz/templates/progress.html:60
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:15
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:16
|
||||
msgid "Score"
|
||||
msgstr "Punkte"
|
||||
|
||||
#: apps/quiz/models.py:200
|
||||
msgid "User Progress"
|
||||
msgstr "Anwender Fortschritt"
|
||||
|
||||
#: apps/quiz/models.py:201
|
||||
msgid "User progress records"
|
||||
msgstr "Fortschrittsaufzeichnung des Anwenders"
|
||||
|
||||
#: apps/quiz/models.py:261
|
||||
msgid "error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: apps/quiz/models.py:261
|
||||
msgid "category does not exist or invalid score"
|
||||
msgstr "Diese Kategorie existiert nicht oder das Ergebnis ist ungültig"
|
||||
|
||||
#: apps/quiz/models.py:375
|
||||
msgid "Question Order"
|
||||
msgstr "Reihenfolge der Fragen"
|
||||
|
||||
#: apps/quiz/models.py:378
|
||||
msgid "Question List"
|
||||
msgstr "Liste der Fragen"
|
||||
|
||||
#: apps/quiz/models.py:381
|
||||
msgid "Incorrect questions"
|
||||
msgstr "Falsche Antworten"
|
||||
|
||||
#: apps/quiz/models.py:383
|
||||
msgid "Current Score"
|
||||
msgstr "Aktueller Punktestand"
|
||||
|
||||
#: apps/quiz/models.py:386
|
||||
msgid "Complete"
|
||||
msgstr "Vollständig"
|
||||
|
||||
#: apps/quiz/models.py:389
|
||||
msgid "User Answers"
|
||||
msgstr "Antworten des Anwenders"
|
||||
|
||||
#: apps/quiz/models.py:392
|
||||
msgid "Start"
|
||||
msgstr "Anfang"
|
||||
|
||||
#: apps/quiz/models.py:394
|
||||
msgid "End"
|
||||
msgstr "Ende"
|
||||
|
||||
#: apps/quiz/models.py:399
|
||||
msgid "Can see completed exams."
|
||||
msgstr "Kann abgelegte Prüfungen sehen."
|
||||
|
||||
#: apps/quiz/models.py:557
|
||||
msgid "Figure"
|
||||
msgstr "Abbildung"
|
||||
|
||||
#: apps/quiz/models.py:561
|
||||
msgid "Enter the question text that you want displayed"
|
||||
msgstr "Geben Sie die Frage ein welche angezeigt werden soll"
|
||||
|
||||
#: apps/quiz/models.py:563 apps/quiz/models.py:575
|
||||
#: apps/quiz/templates/question.html:47
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:21
|
||||
msgid "Question"
|
||||
msgstr "Frage"
|
||||
|
||||
#: apps/quiz/models.py:567
|
||||
msgid "Explanation to be shown after the question has been answered."
|
||||
msgstr "Erklärung welche nach der Antwort angezeigt wird."
|
||||
|
||||
#: apps/quiz/models.py:570 apps/quiz/templates/question.html:32
|
||||
#: apps/quiz/templates/result.html:21 apps/quiz/templates/result.html.py:87
|
||||
msgid "Explanation"
|
||||
msgstr "Erklärung"
|
||||
|
||||
#: apps/quiz/models.py:576
|
||||
msgid "Questions"
|
||||
msgstr "Fragen"
|
||||
|
||||
#: apps/quiz/templates/base.html:7
|
||||
msgid "Example Quiz Website"
|
||||
msgstr "Beispiel Quiz Webseite"
|
||||
|
||||
#: apps/quiz/templates/correct_answer.html:6
|
||||
msgid "You answered the above question incorrectly"
|
||||
msgstr "Sie haben die obenstehende Frage falsch beantwortet"
|
||||
|
||||
#: apps/quiz/templates/correct_answer.html:16
|
||||
msgid "This is the correct answer"
|
||||
msgstr "Dies ist die richtige Antwort"
|
||||
|
||||
#: apps/quiz/templates/correct_answer.html:23
|
||||
msgid "This was your answer."
|
||||
msgstr "Dies war Ihre Antwort."
|
||||
|
||||
#: apps/quiz/templates/progress.html:6
|
||||
msgid "Progress Page"
|
||||
msgstr "Fortschrittsseite"
|
||||
|
||||
#: apps/quiz/templates/progress.html:7
|
||||
msgid "User Progress Page"
|
||||
msgstr "Fortschrittsseite des Anwenders"
|
||||
|
||||
#: apps/quiz/templates/progress.html:13
|
||||
msgid "Question Category Scores"
|
||||
msgstr "Punkte in dieser Fragenkategorie"
|
||||
|
||||
#: apps/quiz/templates/progress.html:20
|
||||
msgid "Correctly answererd"
|
||||
msgstr "Die Antwort ist richtig"
|
||||
|
||||
#: apps/quiz/templates/progress.html:21
|
||||
msgid "Incorrect"
|
||||
msgstr "Falsch"
|
||||
|
||||
#: apps/quiz/templates/progress.html:50
|
||||
msgid "Previous exam papers"
|
||||
msgstr "Vorhergehende Prüfung"
|
||||
|
||||
#: apps/quiz/templates/progress.html:52
|
||||
msgid "Below are the results of exams that you have sat."
|
||||
msgstr "Im Folgenden sehen Sie die Ergebnisse Ihrer Prüfungen."
|
||||
|
||||
#: apps/quiz/templates/progress.html:59
|
||||
msgid "Quiz Title"
|
||||
msgstr "Titel des Quiz"
|
||||
|
||||
#: apps/quiz/templates/progress.html:61
|
||||
msgid "Possible Score"
|
||||
msgstr "Mögliche Punkte"
|
||||
|
||||
#: apps/quiz/templates/question.html:13 apps/quiz/templates/result.html:13
|
||||
msgid "The previous question"
|
||||
msgstr "Die vorherige Frage"
|
||||
|
||||
#: apps/quiz/templates/question.html:22
|
||||
msgid "Your answer was"
|
||||
msgstr "Ihre Antwort war"
|
||||
|
||||
#: apps/quiz/templates/question.html:47
|
||||
msgid "of"
|
||||
msgstr "von"
|
||||
|
||||
#: apps/quiz/templates/question.html:52
|
||||
msgid "Question category"
|
||||
msgstr "Fragenkategorie"
|
||||
|
||||
#: apps/quiz/templates/question.html:74
|
||||
msgid "Check"
|
||||
msgstr "Überprüfung"
|
||||
|
||||
#: apps/quiz/templates/quiz/category_list.html:3
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:3
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:3
|
||||
msgid "All Quizzes"
|
||||
msgstr "Alle Quizze"
|
||||
|
||||
#: apps/quiz/templates/quiz/category_list.html:6
|
||||
msgid "Category list"
|
||||
msgstr "Liste der Kategorien"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_detail.html:11
|
||||
msgid "You will only get one attempt at this quiz"
|
||||
msgstr "Sie haben nur einen Versuch bei dieser Prüfung"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_detail.html:16
|
||||
msgid "Start quiz"
|
||||
msgstr "Quiz beginnen"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:6
|
||||
msgid "List of quizzes"
|
||||
msgstr "Liste der Quizze"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:14
|
||||
msgid "Exam"
|
||||
msgstr "Prüfung"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:15
|
||||
msgid "Single attempt"
|
||||
msgstr "Einzelversuch"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:31
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:42
|
||||
msgid "View details"
|
||||
msgstr "Details ansehen"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:41
|
||||
msgid "There are no available quizzes"
|
||||
msgstr "Es sind keine Prüfungen verfügbar"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:5
|
||||
msgid "Result of"
|
||||
msgstr "Resultat von"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:5
|
||||
msgid "for"
|
||||
msgstr "für"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:9
|
||||
msgid "Quiz title"
|
||||
msgstr "Quiztitel"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:14
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:15
|
||||
msgid "Completed"
|
||||
msgstr "Vollständig"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:22
|
||||
msgid "User answer"
|
||||
msgstr "Anwender Antwort"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:41
|
||||
msgid "incorrect"
|
||||
msgstr "falsch"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:43
|
||||
msgid "Correct"
|
||||
msgstr "Richtig"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:49
|
||||
msgid "Toggle whether correct"
|
||||
msgstr "Markieren wenn richtig"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:6
|
||||
msgid "List of complete exams"
|
||||
msgstr "Liste der abgelegten Prüfungen"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:28
|
||||
msgid "Filter"
|
||||
msgstr "Filter"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:52
|
||||
msgid "There are no matching quizzes"
|
||||
msgstr "Es gibt keine übereinstimmenden Prüfungen"
|
||||
|
||||
#: apps/quiz/templates/result.html:7
|
||||
msgid "Exam Results for"
|
||||
msgstr "Prüfungsergebnisse für"
|
||||
|
||||
#: apps/quiz/templates/result.html:32
|
||||
msgid "Exam results"
|
||||
msgstr "Prüfungsergebnisse"
|
||||
|
||||
#: apps/quiz/templates/result.html:34
|
||||
msgid "Exam title"
|
||||
msgstr "Prüfungstitel"
|
||||
|
||||
#: apps/quiz/templates/result.html:38
|
||||
msgid "You answered"
|
||||
msgstr "Ihre Antwort"
|
||||
|
||||
#: apps/quiz/templates/result.html:38
|
||||
msgid "questions correctly out of"
|
||||
msgstr "Fragen richtig von "
|
||||
|
||||
#: apps/quiz/templates/result.html:38
|
||||
msgid "giving you"
|
||||
msgstr "Sie erhalten"
|
||||
|
||||
#: apps/quiz/templates/result.html:38
|
||||
msgid "percent correct"
|
||||
msgstr "Prozent korrekt"
|
||||
|
||||
#: apps/quiz/templates/result.html:48
|
||||
msgid "Review the questions below and try the exam again in the future"
|
||||
msgstr "Sehen Sie sich die folgenden Fragen an und wiederholen Sie die Prüfung"
|
||||
|
||||
#: apps/quiz/templates/result.html:52
|
||||
msgid ""
|
||||
"The result of this exam will be stored in your progress section so you can "
|
||||
"review and monitor your progression"
|
||||
msgstr ""
|
||||
"Das Resultat dieser Prüfung wird gespeichert und Sie können sich Ihren "
|
||||
"Fortschritt ansehen"
|
||||
|
||||
#: apps/quiz/templates/result.html:66
|
||||
msgid "Your session score is"
|
||||
msgstr "Der Punktestand dieser Sitzung ist"
|
||||
|
||||
#: apps/quiz/templates/result.html:66
|
||||
msgid "out of a possible"
|
||||
msgstr "von möglichen"
|
||||
|
||||
#: apps/quiz/templates/result.html:84
|
||||
msgid "Your answer"
|
||||
msgstr "Ihre Antwort"
|
||||
|
||||
#: apps/quiz/templates/single_complete.html:13
|
||||
msgid "You have already sat this exam and only one sitting is permitted"
|
||||
msgstr ""
|
||||
"Sie haben diese Prüfung schon abgelegt und dies kann nur einmal erfolgen"
|
||||
|
||||
#: apps/quiz/templates/single_complete.html:15
|
||||
msgid "This exam is only accessible to signed in users"
|
||||
msgstr "Diese Prüfung ist angemeldeten Anwendern vorbehalten"
|
||||
|
||||
#: apps/quiz/templates/view_quiz_category.html:3
|
||||
msgid "Quizzes related to"
|
||||
msgstr "Quizze bezogen auf"
|
||||
|
||||
#: apps/quiz/templates/view_quiz_category.html:6
|
||||
msgid "Quizzes in the"
|
||||
msgstr "Quizze in der"
|
||||
|
||||
#: apps/quiz/templates/view_quiz_category.html:6
|
||||
msgid "category"
|
||||
msgstr "Kategorie"
|
||||
|
||||
#: apps/quiz/templates/view_quiz_category.html:20
|
||||
msgid "There are no quizzes"
|
||||
msgstr "Es gibt keine Quizze"
|
||||
BIN
quiz-app/quiz/locale/es_CO/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/quiz/locale/es_CO/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
473
quiz-app/quiz/locale/es_CO/LC_MESSAGES/django.po
Normal file
473
quiz-app/quiz/locale/es_CO/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,473 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-quiz\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-01-01 11:37+0400\n"
|
||||
"PO-Revision-Date: 2016-03-24 16:26-0500\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"
|
||||
"X-Generator: Poedit 1.8.4\n"
|
||||
"Language-Team: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language: es_CO\n"
|
||||
|
||||
#: admin.py:31 admin.py:33 models.py:576
|
||||
msgid "Questions"
|
||||
msgstr "Preguntas"
|
||||
|
||||
#: models.py:30 models.py:37 models.py:53 models.py:83 models.py:545
|
||||
#: templates/progress.html:19 templates/quiz/quiz_detail.html:9
|
||||
#: templates/quiz/quiz_list.html:13 templates/quiz/sitting_detail.html:10
|
||||
msgid "Category"
|
||||
msgstr "Categoría"
|
||||
|
||||
#: models.py:38
|
||||
msgid "Categories"
|
||||
msgstr "Categorías"
|
||||
|
||||
#: models.py:48 models.py:58 models.py:550
|
||||
msgid "Sub-Category"
|
||||
msgstr "Sub-Categoría"
|
||||
|
||||
#: models.py:59
|
||||
msgid "Sub-Categories"
|
||||
msgstr "Sub-Categorías"
|
||||
|
||||
#: models.py:69 templates/quiz/quiz_list.html:12
|
||||
msgid "Title"
|
||||
msgstr "Título"
|
||||
|
||||
#: models.py:73
|
||||
msgid "Description"
|
||||
msgstr "Descripción"
|
||||
|
||||
#: models.py:74
|
||||
msgid "a description of the quiz"
|
||||
msgstr "una descripción del quiz"
|
||||
|
||||
#: models.py:78
|
||||
msgid "a user friendly url"
|
||||
msgstr "una url amigable para el usuario"
|
||||
|
||||
#: models.py:79
|
||||
msgid "user friendly url"
|
||||
msgstr "url amigable para el usuario"
|
||||
|
||||
#: models.py:87
|
||||
msgid "Random Order"
|
||||
msgstr "Orden Aleatorio"
|
||||
|
||||
#: models.py:88
|
||||
msgid "Display the questions in a random order or as they are set?"
|
||||
msgstr "¿Muestra las preguntas en un orden aleatorio o como se crearon?"
|
||||
|
||||
#: models.py:93
|
||||
msgid "Max Questions"
|
||||
msgstr "Número Máximo de Preguntas"
|
||||
|
||||
#: models.py:94
|
||||
msgid "Number of questions to be answered on each attempt."
|
||||
msgstr "Número de preguntas a ser resueltas por cada intento"
|
||||
|
||||
#: models.py:98
|
||||
msgid ""
|
||||
"Correct answer is NOT shown after question. Answers displayed at the end."
|
||||
msgstr ""
|
||||
"Respuestas correctas NO serán mostradas después de la pregunta. Las "
|
||||
"respuestas se mostrarán al final"
|
||||
|
||||
#: models.py:100
|
||||
msgid "Answers at end"
|
||||
msgstr "Respuestas al final"
|
||||
|
||||
#: models.py:104
|
||||
msgid ""
|
||||
"If yes, the result of each attempt by a user will be stored. Necessary for "
|
||||
"marking."
|
||||
msgstr ""
|
||||
"Si escoge si, el resultado de cada intento por usuario será guardado. "
|
||||
"Necesario para marcar"
|
||||
|
||||
#: models.py:107
|
||||
msgid "Exam Paper"
|
||||
msgstr "Papel del Exámen"
|
||||
|
||||
#: models.py:111
|
||||
msgid ""
|
||||
"If yes, only one attempt by a user will be permitted. Non users cannot sit "
|
||||
"this exam."
|
||||
msgstr ""
|
||||
"Si escoge si, solo un intento será permitido por usuario. Los que no sean "
|
||||
"usuarios no tomarán este exámen"
|
||||
|
||||
#: models.py:114
|
||||
msgid "Single Attempt"
|
||||
msgstr "Un Intento"
|
||||
|
||||
#: apps/quiz/models.py:116
|
||||
msgid "Pass Mark"
|
||||
msgstr "Mínimo exigido para aprobar"
|
||||
|
||||
#: models.py:118
|
||||
msgid "Percentage required to pass exam."
|
||||
msgstr "Porcentaje requerido para aprobar el examen"
|
||||
|
||||
#: models.py:122
|
||||
msgid "Displayed if user passes."
|
||||
msgstr "Mostrar si el usuario pasa"
|
||||
|
||||
#: models.py:123
|
||||
msgid "Success Text"
|
||||
msgstr "Texto de Éxito"
|
||||
|
||||
#: models.py:126
|
||||
msgid "Fail Text"
|
||||
msgstr "Texto de Fracaso"
|
||||
|
||||
#: models.py:127
|
||||
msgid "Displayed if user fails."
|
||||
msgstr "Mostrar si el usuario fracasa"
|
||||
|
||||
#: models.py:131
|
||||
msgid "Draft"
|
||||
msgstr "Borrador"
|
||||
|
||||
#: models.py:132
|
||||
msgid ""
|
||||
"If yes, the quiz is not displayed in the quiz list and can only be taken by "
|
||||
"users who can edit quizzes."
|
||||
msgstr ""
|
||||
"Si escoge si, este quiz no será mostrado en la lista de quizes y solo podrá "
|
||||
"ser tomado por usuarios que puedan editar quizes"
|
||||
|
||||
#: models.py:152 models.py:372 models.py:541
|
||||
#: templates/quiz/sitting_list.html:14
|
||||
msgid "Quiz"
|
||||
msgstr "Quiz"
|
||||
|
||||
#: models.py:153
|
||||
msgid "Quizzes"
|
||||
msgstr "Quizes"
|
||||
|
||||
#: models.py:192 models.py:370 templates/quiz/sitting_detail.html:13
|
||||
#: templates/quiz/sitting_list.html:13
|
||||
msgid "User"
|
||||
msgstr "Usuario"
|
||||
|
||||
#: models.py:195 templates/progress.html:60
|
||||
#: templates/quiz/sitting_detail.html:15 templates/quiz/sitting_list.html:16
|
||||
msgid "Score"
|
||||
msgstr "Puntaje"
|
||||
|
||||
#: models.py:200
|
||||
msgid "User Progress"
|
||||
msgstr "Progreso de Usuario"
|
||||
|
||||
#: models.py:201
|
||||
msgid "User progress records"
|
||||
msgstr "Registros de progreso del usuario"
|
||||
|
||||
#: models.py:261
|
||||
msgid "error"
|
||||
msgstr "error"
|
||||
|
||||
#: models.py:261
|
||||
msgid "category does not exist or invalid score"
|
||||
msgstr "categoría no existe o puntaje inválido"
|
||||
|
||||
#: models.py:375
|
||||
msgid "Question Order"
|
||||
msgstr "Orden de las Preguntas"
|
||||
|
||||
#: models.py:378
|
||||
msgid "Question List"
|
||||
msgstr "Lista de Preguntas"
|
||||
|
||||
#: models.py:381
|
||||
msgid "Incorrect questions"
|
||||
msgstr "Preguntas Incorrectas"
|
||||
|
||||
#: models.py:383
|
||||
msgid "Current Score"
|
||||
msgstr "Puntaje Actual"
|
||||
|
||||
#: models.py:386
|
||||
msgid "Complete"
|
||||
msgstr "Completo"
|
||||
|
||||
#: models.py:389
|
||||
msgid "User Answers"
|
||||
msgstr "Respuestas de los Usuarios"
|
||||
|
||||
#: models.py:392
|
||||
msgid "Start"
|
||||
msgstr "Inicio"
|
||||
|
||||
#: models.py:394
|
||||
msgid "End"
|
||||
msgstr "Fin"
|
||||
|
||||
#: models.py:399
|
||||
msgid "Can see completed exams."
|
||||
msgstr "Puede ver exámenes completados"
|
||||
|
||||
#: models.py:557
|
||||
msgid "Figure"
|
||||
msgstr "Figura"
|
||||
|
||||
#: models.py:561
|
||||
msgid "Enter the question text that you want displayed"
|
||||
msgstr "Ingresa el texto de la pregunta que quiere que aparezca"
|
||||
|
||||
#: models.py:563 models.py:575 templates/question.html:47
|
||||
#: templates/quiz/sitting_detail.html:21
|
||||
msgid "Question"
|
||||
msgstr "Pregunta"
|
||||
|
||||
#: models.py:567
|
||||
msgid "Explanation to be shown after the question has been answered."
|
||||
msgstr ""
|
||||
"Explicación que debe ser mostrada después de que la pregunta fue respondida"
|
||||
|
||||
#: models.py:570 templates/question.html:32 templates/result.html:21
|
||||
#: templates/result.html.py:87
|
||||
msgid "Explanation"
|
||||
msgstr "Explicación"
|
||||
|
||||
#: templates/base.html:7
|
||||
msgid "Example Quiz Website"
|
||||
msgstr "Sitio Web Ejemplo Quiz"
|
||||
|
||||
#: templates/correct_answer.html:6
|
||||
msgid "You answered the above question incorrectly"
|
||||
msgstr "Ha respondido a la pregunta anterior de forma incorrecta"
|
||||
|
||||
#: templates/correct_answer.html:16
|
||||
msgid "This is the correct answer"
|
||||
msgstr "Esta es la respuesta correcta"
|
||||
|
||||
#: templates/correct_answer.html:23
|
||||
msgid "This was your answer."
|
||||
msgstr "Esta fue tu respuesta"
|
||||
|
||||
#: templates/progress.html:6
|
||||
msgid "Progress Page"
|
||||
msgstr "Página de Progreso"
|
||||
|
||||
#: templates/progress.html:7
|
||||
msgid "User Progress Page"
|
||||
msgstr "Página Progreso de Usuario"
|
||||
|
||||
#: templates/progress.html:13
|
||||
msgid "Question Category Scores"
|
||||
msgstr "Pregunta Puntajes de las Categorías"
|
||||
|
||||
#: templates/progress.html:20
|
||||
msgid "Correctly answererd"
|
||||
msgstr "Correctamente contestada"
|
||||
|
||||
#: templates/progress.html:21
|
||||
msgid "Incorrect"
|
||||
msgstr "Incorrecta"
|
||||
|
||||
#: templates/progress.html:50
|
||||
msgid "Previous exam papers"
|
||||
msgstr "Exámenes anteriores"
|
||||
|
||||
#: templates/progress.html:52
|
||||
msgid "Below are the results of exams that you have sat."
|
||||
msgstr "Abajo están los resultados de los exámenes que se ha realizado."
|
||||
|
||||
#: templates/progress.html:59
|
||||
msgid "Quiz Title"
|
||||
msgstr "Título del Quiz"
|
||||
|
||||
#: templates/progress.html:61
|
||||
msgid "Possible Score"
|
||||
msgstr "Puntos posibles"
|
||||
|
||||
#: templates/question.html:13 templates/result.html:13
|
||||
msgid "The previous question"
|
||||
msgstr "La pregunta anterior"
|
||||
|
||||
#: templates/question.html:22
|
||||
msgid "Your answer was"
|
||||
msgstr "Tu respuesta fue"
|
||||
|
||||
#: templates/question.html:47
|
||||
msgid "of"
|
||||
msgstr "de"
|
||||
|
||||
#: templates/question.html:52
|
||||
msgid "Question category"
|
||||
msgstr "Categoría de la pregunta"
|
||||
|
||||
#: templates/question.html:74
|
||||
msgid "Check"
|
||||
msgstr "Verificar"
|
||||
|
||||
#: templates/quiz/category_list.html:3 templates/quiz/quiz_list.html:3
|
||||
#: templates/quiz/sitting_list.html:3
|
||||
msgid "All Quizzes"
|
||||
msgstr "Todos los Quizes"
|
||||
|
||||
#: templates/quiz/category_list.html:6
|
||||
msgid "Category list"
|
||||
msgstr "Lista de Categorías"
|
||||
|
||||
#: templates/quiz/quiz_detail.html:11
|
||||
msgid "You will only get one attempt at this quiz"
|
||||
msgstr "Solo se tendrá un intento para este quiz"
|
||||
|
||||
#: templates/quiz/quiz_detail.html:16
|
||||
msgid "Start quiz"
|
||||
msgstr "Empezar quiz"
|
||||
|
||||
#: templates/quiz/quiz_list.html:6
|
||||
msgid "List of quizzes"
|
||||
msgstr "Lista de quizes"
|
||||
|
||||
#: templates/quiz/quiz_list.html:14
|
||||
msgid "Exam"
|
||||
msgstr "Examen"
|
||||
|
||||
#: templates/quiz/quiz_list.html:15
|
||||
msgid "Single attempt"
|
||||
msgstr "Un solo intento"
|
||||
|
||||
#: templates/quiz/quiz_list.html:31 templates/quiz/sitting_list.html:42
|
||||
msgid "View details"
|
||||
msgstr "Ver detalles"
|
||||
|
||||
#: templates/quiz/quiz_list.html:41
|
||||
msgid "There are no available quizzes"
|
||||
msgstr "No hay quizes disponibles"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:5
|
||||
msgid "Result of"
|
||||
msgstr "Resultado de"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:5
|
||||
msgid "for"
|
||||
msgstr "para"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:9
|
||||
msgid "Quiz title"
|
||||
msgstr "Título de Quiz"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:14 templates/quiz/sitting_list.html:15
|
||||
msgid "Completed"
|
||||
msgstr "Completado"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:22
|
||||
msgid "User answer"
|
||||
msgstr "Respuesta de usuario"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:41
|
||||
msgid "incorrect"
|
||||
msgstr "Incorrecta"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:43
|
||||
msgid "Correct"
|
||||
msgstr "Correcto"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:49
|
||||
msgid "Toggle whether correct"
|
||||
msgstr "Alternar si es correcta"
|
||||
|
||||
#: templates/quiz/sitting_list.html:6
|
||||
msgid "List of complete exams"
|
||||
msgstr "Lista de examenes completos"
|
||||
|
||||
#: templates/quiz/sitting_list.html:28
|
||||
msgid "Filter"
|
||||
msgstr "Filtro"
|
||||
|
||||
#: templates/quiz/sitting_list.html:52
|
||||
msgid "There are no matching quizzes"
|
||||
msgstr "No hay quizes que coincidan"
|
||||
|
||||
#: templates/result.html:7
|
||||
msgid "Exam Results for"
|
||||
msgstr "Resultados del exámen de"
|
||||
|
||||
#: templates/result.html:32
|
||||
msgid "Exam results"
|
||||
msgstr "Resultados del exámen"
|
||||
|
||||
#: templates/result.html:34
|
||||
msgid "Exam title"
|
||||
msgstr "Título del exámen"
|
||||
|
||||
#: templates/result.html:38
|
||||
msgid "You answered"
|
||||
msgstr "Tu respondiste"
|
||||
|
||||
#: templates/result.html:38
|
||||
msgid "questions correctly out of"
|
||||
msgstr "preguntas correctas de cada"
|
||||
|
||||
#: templates/result.html:38
|
||||
msgid "giving you"
|
||||
msgstr "darle"
|
||||
|
||||
#: templates/result.html:38
|
||||
msgid "percent correct"
|
||||
msgstr "porcentaje de respuestas correctas"
|
||||
|
||||
#: templates/result.html:48
|
||||
msgid "Review the questions below and try the exam again in the future"
|
||||
msgstr ""
|
||||
"Revisa las preguntas a continuación e intente el examen de nuevo en el "
|
||||
"futuro"
|
||||
|
||||
#: templates/result.html:52
|
||||
msgid ""
|
||||
"The result of this exam will be stored in your progress section so you can "
|
||||
"review and monitor your progression"
|
||||
msgstr ""
|
||||
"El resultado de este examen se almacenará en su sección de progreso para "
|
||||
"que pueda revisar y supervisar su progreso"
|
||||
|
||||
#: templates/result.html:66
|
||||
msgid "Your session score is"
|
||||
msgstr "Su puntuación de sesión es"
|
||||
|
||||
#: templates/result.html:66
|
||||
msgid "out of a possible"
|
||||
msgstr "de un total posible"
|
||||
|
||||
#: templates/result.html:84
|
||||
msgid "Your answer"
|
||||
msgstr "Tu respuesta"
|
||||
|
||||
#: templates/single_complete.html:13
|
||||
msgid "You have already sat this exam and only one sitting is permitted"
|
||||
msgstr "Usted ya ha enviado este examen, y sólo se permite una sola sesión"
|
||||
|
||||
#: templates/single_complete.html:15
|
||||
msgid "This exam is only accessible to signed in users"
|
||||
msgstr "Este examen es sólo accesible para los usuarios inscritos"
|
||||
|
||||
#: templates/view_quiz_category.html:3
|
||||
msgid "Quizzes related to"
|
||||
msgstr "Quizes relacionados con"
|
||||
|
||||
#: templates/view_quiz_category.html:6
|
||||
msgid "Quizzes in the"
|
||||
msgstr "Quizes en el"
|
||||
|
||||
#: templates/view_quiz_category.html:6
|
||||
msgid "category"
|
||||
msgstr "categoría"
|
||||
|
||||
#: templates/view_quiz_category.html:20
|
||||
msgid "There are no quizzes"
|
||||
msgstr "No hay quizes"
|
||||
BIN
quiz-app/quiz/locale/fr/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/quiz/locale/fr/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
330
quiz-app/quiz/locale/fr/LC_MESSAGES/django.po
Normal file
330
quiz-app/quiz/locale/fr/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,330 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-05-28 17:45+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \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"
|
||||
|
||||
#: quiz/templates/base.html:8
|
||||
msgid "Garage Numérique Quizzes"
|
||||
msgstr "Quiz du Garage Numérique"
|
||||
|
||||
#: quiz/templates/base.html:27
|
||||
msgid "Hi "
|
||||
msgstr "Bonjour"
|
||||
|
||||
#: quiz/templates/base.html:28
|
||||
msgid "Disconnect"
|
||||
msgstr "Se déconnecter"
|
||||
|
||||
#: quiz/templates/base.html:29
|
||||
#, fuzzy
|
||||
#| msgid "User Progress"
|
||||
msgid "Progress"
|
||||
msgstr "Progression de l'utilisateur"
|
||||
|
||||
#: quiz/templates/base.html:31
|
||||
#, fuzzy
|
||||
#| msgid "Result of"
|
||||
msgid "Results"
|
||||
msgstr "Resultat de"
|
||||
|
||||
#: quiz/templates/base.html:35
|
||||
msgid "Connect"
|
||||
msgstr "Se connecter"
|
||||
|
||||
#: quiz/templates/correct_answer.html:6
|
||||
msgid "You answered incorrectly to this answer"
|
||||
msgstr "Vous avez répondu incorrectement à cette question"
|
||||
|
||||
#: quiz/templates/correct_answer.html:16
|
||||
#, fuzzy
|
||||
#| msgid "This is the correct answer"
|
||||
msgid "It's a correct answer"
|
||||
msgstr "C'est la bonne réponse"
|
||||
|
||||
#: quiz/templates/correct_answer.html:23 quiz/templates/question.html:22
|
||||
msgid "Your answer was"
|
||||
msgstr "Voici la réponse que vous avez donnée"
|
||||
|
||||
#: quiz/templates/progress.html:6
|
||||
msgid "Progress Page"
|
||||
msgstr "Page de progression"
|
||||
|
||||
#: quiz/templates/progress.html:7
|
||||
msgid "User Progress Page"
|
||||
msgstr "Page de progression de l'utilisateur"
|
||||
|
||||
#: quiz/templates/progress.html:13
|
||||
msgid "Question Category Scores"
|
||||
msgstr "Scores par catégorie"
|
||||
|
||||
#: quiz/templates/progress.html:19 quiz/templates/quiz/quiz_detail.html:9
|
||||
#: quiz/templates/quiz/quiz_list.html:13
|
||||
msgid "Category"
|
||||
msgstr "Categorie"
|
||||
|
||||
#: quiz/templates/progress.html:20
|
||||
msgid "Correctly answererd"
|
||||
msgstr "Correctement répondues"
|
||||
|
||||
#: quiz/templates/progress.html:21 quiz/templates/quiz/sitting_detail.html:45
|
||||
msgid "Incorrect"
|
||||
msgstr "Incorrecte"
|
||||
|
||||
#: quiz/templates/progress.html:50
|
||||
msgid "Previous exam papers"
|
||||
msgstr "Examens précédents"
|
||||
|
||||
#: quiz/templates/progress.html:52
|
||||
msgid "Below are the results of exams that you have sat."
|
||||
msgstr "Voici les résultats des examens que vous avez réalisés."
|
||||
|
||||
#: quiz/templates/progress.html:59
|
||||
msgid "Quiz Title"
|
||||
msgstr "Titre du quiz"
|
||||
|
||||
#: quiz/templates/progress.html:60 quiz/templates/quiz/sitting_detail.html:18
|
||||
#: quiz/templates/quiz/sitting_list.html:20
|
||||
msgid "Score"
|
||||
msgstr "Score"
|
||||
|
||||
#: quiz/templates/progress.html:61
|
||||
msgid "Possible Score"
|
||||
msgstr "Score max."
|
||||
|
||||
#: quiz/templates/question.html:13 quiz/templates/result.html:13
|
||||
msgid "The previous question"
|
||||
msgstr "La question précédente"
|
||||
|
||||
#: quiz/templates/question.html:32 quiz/templates/result.html:21
|
||||
#: quiz/templates/result.html:87
|
||||
msgid "Explanation"
|
||||
msgstr "Explication"
|
||||
|
||||
#: quiz/templates/question.html:47 quiz/templates/quiz/sitting_detail.html:24
|
||||
msgid "Question"
|
||||
msgstr "Question"
|
||||
|
||||
#: quiz/templates/question.html:47
|
||||
msgid "of"
|
||||
msgstr "de"
|
||||
|
||||
#: quiz/templates/question.html:52
|
||||
msgid "Question category"
|
||||
msgstr "Catégorie de la question"
|
||||
|
||||
#: quiz/templates/question.html:74
|
||||
msgid "Check"
|
||||
msgstr "Verifier"
|
||||
|
||||
#: quiz/templates/quiz/category_list.html:3
|
||||
#: quiz/templates/quiz/sitting_list.html:3
|
||||
msgid "All Quizzes"
|
||||
msgstr "Tous les quiz"
|
||||
|
||||
#: quiz/templates/quiz/category_list.html:6
|
||||
msgid "Category list"
|
||||
msgstr "Liste de catégories"
|
||||
|
||||
#: quiz/templates/quiz/quiz_detail.html:11
|
||||
msgid "You will only get one attempt at this quiz"
|
||||
msgstr "Vous n'aurez qu'un seul essai pour ce quiz"
|
||||
|
||||
#: quiz/templates/quiz/quiz_detail.html:16
|
||||
msgid "Start quiz"
|
||||
msgstr "Commencer le quiz"
|
||||
|
||||
#: quiz/templates/quiz/quiz_list.html:3
|
||||
#, fuzzy
|
||||
#| msgid "List of quizzes"
|
||||
msgid "Tout les quizzs"
|
||||
msgstr "Liste des quizs"
|
||||
|
||||
#: quiz/templates/quiz/quiz_list.html:6
|
||||
msgid "List of quizzes"
|
||||
msgstr "Liste des quizs"
|
||||
|
||||
#: quiz/templates/quiz/quiz_list.html:12
|
||||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
|
||||
#: quiz/templates/quiz/quiz_list.html:14
|
||||
msgid "Exam"
|
||||
msgstr "Examen"
|
||||
|
||||
#: quiz/templates/quiz/quiz_list.html:15
|
||||
msgid "Single attempt"
|
||||
msgstr "Un seul essai"
|
||||
|
||||
#: quiz/templates/quiz/quiz_list.html:31
|
||||
#: quiz/templates/quiz/sitting_list.html:46
|
||||
msgid "View details"
|
||||
msgstr "Voir les détails"
|
||||
|
||||
#: quiz/templates/quiz/quiz_list.html:41
|
||||
msgid "There are no available quizzes"
|
||||
msgstr "Il n'y a pas de quiz disponibles"
|
||||
|
||||
#: quiz/templates/quiz/sitting_detail.html:5
|
||||
#, fuzzy
|
||||
#| msgid "Result of"
|
||||
msgid "Results of "
|
||||
msgstr "Resultat de"
|
||||
|
||||
#: quiz/templates/quiz/sitting_detail.html:5
|
||||
msgid "for "
|
||||
msgstr "pour "
|
||||
|
||||
#: quiz/templates/quiz/sitting_detail.html:12
|
||||
msgid "Quiz title"
|
||||
msgstr "Titre du quiz"
|
||||
|
||||
#: quiz/templates/quiz/sitting_detail.html:13
|
||||
#, fuzzy
|
||||
#| msgid "Category"
|
||||
msgid "Catégory"
|
||||
msgstr "Categorie"
|
||||
|
||||
#: quiz/templates/quiz/sitting_detail.html:16
|
||||
#: quiz/templates/quiz/sitting_list.html:17
|
||||
msgid "User"
|
||||
msgstr "Utilisateur"
|
||||
|
||||
#: quiz/templates/quiz/sitting_detail.html:17
|
||||
#: quiz/templates/quiz/sitting_list.html:19
|
||||
msgid "Completed"
|
||||
msgstr "Completé"
|
||||
|
||||
#: quiz/templates/quiz/sitting_detail.html:25
|
||||
msgid "User answer"
|
||||
msgstr "Réponse de l'utilisateur"
|
||||
|
||||
#: quiz/templates/quiz/sitting_detail.html:47
|
||||
msgid "Correct"
|
||||
msgstr "Correcte"
|
||||
|
||||
#: quiz/templates/quiz/sitting_detail.html:60
|
||||
#: quiz/templates/quiz/sitting_list.html:60
|
||||
msgid "You don't have access to this page"
|
||||
msgstr "Vous n'avez pas accès à cette page"
|
||||
|
||||
#: quiz/templates/quiz/sitting_detail.html:66
|
||||
msgid "Toggle whether correct"
|
||||
msgstr "[Dés]Activer si c'est correcte"
|
||||
|
||||
#: quiz/templates/quiz/sitting_list.html:10
|
||||
msgid "List of complete exams"
|
||||
msgstr "Liste des examens complétés"
|
||||
|
||||
#: quiz/templates/quiz/sitting_list.html:18
|
||||
msgid "Quiz"
|
||||
msgstr "Quiz"
|
||||
|
||||
#: quiz/templates/quiz/sitting_list.html:32
|
||||
msgid "Filter"
|
||||
msgstr "Filtre"
|
||||
|
||||
#: quiz/templates/quiz/sitting_list.html:56
|
||||
msgid "There are no matching quizzes"
|
||||
msgstr "Il n'y a pas de quiz correspondant"
|
||||
|
||||
#: quiz/templates/result.html:7
|
||||
#, fuzzy
|
||||
#| msgid "Exam Results for"
|
||||
msgid "Exam results for"
|
||||
msgstr "Résultats de l'examen de"
|
||||
|
||||
#: quiz/templates/result.html:32
|
||||
msgid "Exam results"
|
||||
msgstr "Résultats de l'examen"
|
||||
|
||||
#: quiz/templates/result.html:34
|
||||
msgid "Exam title"
|
||||
msgstr "Titre de l'examen"
|
||||
|
||||
#: quiz/templates/result.html:38
|
||||
msgid "You answered"
|
||||
msgstr "Vous avez donné la bonne réponse pour "
|
||||
|
||||
#: quiz/templates/result.html:38
|
||||
#, fuzzy
|
||||
#| msgid "questions correctly out of"
|
||||
msgid "questions correctly on "
|
||||
msgstr "questions sur un total de"
|
||||
|
||||
#: quiz/templates/result.html:38
|
||||
msgid "giving you"
|
||||
msgstr "ce qui vous donne"
|
||||
|
||||
#: quiz/templates/result.html:38
|
||||
#, fuzzy
|
||||
#| msgid "This is the correct answer"
|
||||
msgid " of correct answers"
|
||||
msgstr "C'est la bonne réponse"
|
||||
|
||||
#: quiz/templates/result.html:48
|
||||
msgid "Review the questions below and try the exam again in the future"
|
||||
msgstr ""
|
||||
"Revoyez les questions suivantes et essayez à nouveau l'examen une autre fois"
|
||||
|
||||
#: quiz/templates/result.html:52
|
||||
msgid ""
|
||||
"The result of this exam will be stored in your progress section so you can "
|
||||
"review and monitor your progression"
|
||||
msgstr ""
|
||||
"Le résultat de cet examen sera enregistré pour que vous puissiez suivre "
|
||||
"votre progression"
|
||||
|
||||
#: quiz/templates/result.html:66
|
||||
msgid "Your session score is"
|
||||
msgstr "Votre score pour cette session est"
|
||||
|
||||
#: quiz/templates/result.html:66
|
||||
msgid "out of a possible"
|
||||
msgstr "sur un maximum de"
|
||||
|
||||
#: quiz/templates/result.html:84
|
||||
msgid "Your answer"
|
||||
msgstr "Votre réponse"
|
||||
|
||||
#: quiz/templates/single_complete.html:13
|
||||
msgid "You already did this quiz"
|
||||
msgstr "Vous avez déjà éffectué ce quiz"
|
||||
|
||||
#: quiz/templates/single_complete.html:15
|
||||
#, fuzzy
|
||||
#| msgid "This exam is only accessible to signed in users"
|
||||
msgid "This quiz is only accessible to authentified users"
|
||||
msgstr "Cet examen n'est accessible qu'aux utilisateurs enregistrés"
|
||||
|
||||
#: quiz/templates/view_quiz_category.html:3
|
||||
msgid "Quizzes related to"
|
||||
msgstr "Quiz pour la catégorie"
|
||||
|
||||
#: quiz/templates/view_quiz_category.html:6
|
||||
msgid "Quizzes in the"
|
||||
msgstr "Quizs dans la catégorie"
|
||||
|
||||
#: quiz/templates/view_quiz_category.html:6
|
||||
#, fuzzy
|
||||
#| msgid "category"
|
||||
msgid "category"
|
||||
msgstr "catégorie"
|
||||
|
||||
#: quiz/templates/view_quiz_category.html:20
|
||||
msgid "There are no quizzes"
|
||||
msgstr "Il n'y a pas de quiz"
|
||||
BIN
quiz-app/quiz/locale/it/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/quiz/locale/it/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
479
quiz-app/quiz/locale/it/LC_MESSAGES/django.po
Normal file
479
quiz-app/quiz/locale/it/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,479 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-10-31 22:44+0000\n"
|
||||
"PO-Revision-Date: 2015-10-31 22:43+0000\n"
|
||||
"Last-Translator: b' <>'\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \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"
|
||||
"X-Translated-Using: django-rosetta 0.7.6\n"
|
||||
|
||||
#: apps/quiz/models.py:30 apps/quiz/models.py:37 apps/quiz/models.py:53
|
||||
#: apps/quiz/models.py:83 apps/quiz/models.py:545
|
||||
#: apps/quiz/templates/progress.html:19
|
||||
#: apps/quiz/templates/quiz/quiz_detail.html:9
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:13
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:10
|
||||
msgid "Category"
|
||||
msgstr "Categoria"
|
||||
|
||||
#: apps/quiz/models.py:38
|
||||
msgid "Categories"
|
||||
msgstr "Categorie"
|
||||
|
||||
#: apps/quiz/models.py:48 apps/quiz/models.py:58 apps/quiz/models.py:550
|
||||
msgid "Sub-Category"
|
||||
msgstr "Sotto-Categoria"
|
||||
|
||||
#: apps/quiz/models.py:59
|
||||
msgid "Sub-Categories"
|
||||
msgstr "Sotto-categorie"
|
||||
|
||||
#: apps/quiz/models.py:69 apps/quiz/templates/quiz/quiz_list.html:12
|
||||
msgid "Title"
|
||||
msgstr "Titolo"
|
||||
|
||||
#: apps/quiz/models.py:73
|
||||
msgid "Description"
|
||||
msgstr "Descrizione"
|
||||
|
||||
#: apps/quiz/models.py:74
|
||||
msgid "a description of the quiz"
|
||||
msgstr "una descrizione del quiz"
|
||||
|
||||
#: apps/quiz/models.py:78
|
||||
msgid "a user friendly url"
|
||||
msgstr "un url amichevole"
|
||||
|
||||
#: apps/quiz/models.py:79
|
||||
msgid "user friendly url"
|
||||
msgstr "url amichevole"
|
||||
|
||||
#: apps/quiz/models.py:87
|
||||
msgid "Random Order"
|
||||
msgstr "Ordine Casuale"
|
||||
|
||||
#: apps/quiz/models.py:88
|
||||
msgid "Display the questions in a random order or as they are set?"
|
||||
msgstr ""
|
||||
"Visualizzare le domande in un ordine casuale o nell'ordine in cui sono state "
|
||||
"inserite?"
|
||||
|
||||
#: apps/quiz/models.py:93
|
||||
msgid "Max Questions"
|
||||
msgstr "Numero massimo di domande"
|
||||
|
||||
#: apps/quiz/models.py:94
|
||||
msgid "Number of questions to be answered on each attempt."
|
||||
msgstr "Numero di domande cui rispondere in ogni tentativo."
|
||||
|
||||
#: apps/quiz/models.py:98
|
||||
msgid ""
|
||||
"Correct answer is NOT shown after question. Answers displayed at the end."
|
||||
msgstr ""
|
||||
"La risposta corretta NON è visualizzata dopo la domanda. Le risposte vengono "
|
||||
"visualizzate alla fine."
|
||||
|
||||
#: apps/quiz/models.py:100
|
||||
msgid "Answers at end"
|
||||
msgstr "Risposte alla fine"
|
||||
|
||||
#: apps/quiz/models.py:104
|
||||
msgid ""
|
||||
"If yes, the result of each attempt by a user will be stored. Necessary for "
|
||||
"marking."
|
||||
msgstr ""
|
||||
"Se si, il risultato di ogni tentativo da parte di un utente verrà salvato. "
|
||||
"Necessario per segnare."
|
||||
|
||||
#: apps/quiz/models.py:107
|
||||
msgid "Exam Paper"
|
||||
msgstr "Foglio dell'esame"
|
||||
|
||||
#: apps/quiz/models.py:111
|
||||
msgid ""
|
||||
"If yes, only one attempt by a user will be permitted. Non users cannot sit "
|
||||
"this exam."
|
||||
msgstr ""
|
||||
"Se si, per ogni utente sarà permesso un solo tentativo. I non tutenti non "
|
||||
"potranno sostenere l'esame."
|
||||
|
||||
#: apps/quiz/models.py:114
|
||||
msgid "Single Attempt"
|
||||
msgstr "Songolo tentativo"
|
||||
|
||||
#: apps/quiz/models.py:118
|
||||
msgid "Percentage required to pass exam."
|
||||
msgstr "Percentuale richiesta per superare l'esame."
|
||||
|
||||
#: apps/quiz/models.py:122
|
||||
msgid "Displayed if user passes."
|
||||
msgstr "Visualizzato se l'utente passa."
|
||||
|
||||
#: apps/quiz/models.py:123
|
||||
msgid "Success Text"
|
||||
msgstr "Testo Risposta Corretta"
|
||||
|
||||
#: apps/quiz/models.py:126
|
||||
msgid "Fail Text"
|
||||
msgstr "Test risposta Sbagliata"
|
||||
|
||||
#: apps/quiz/models.py:127
|
||||
msgid "Displayed if user fails."
|
||||
msgstr "Visualizzato se l'utente fallisce."
|
||||
|
||||
#: apps/quiz/models.py:131
|
||||
msgid "Draft"
|
||||
msgstr "Bozza"
|
||||
|
||||
#: apps/quiz/models.py:132
|
||||
msgid ""
|
||||
"If yes, the quiz is not displayed in the quiz list and can only be taken by "
|
||||
"users who can edit quizzes."
|
||||
msgstr ""
|
||||
"Se sì, il quiz non viene visualizzato nell'elenco quiz e può essere "
|
||||
"selezionato solo dagli utenti che possono modificare i quiz."
|
||||
|
||||
#: apps/quiz/models.py:152 apps/quiz/models.py:372 apps/quiz/models.py:541
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:14
|
||||
msgid "Quiz"
|
||||
msgstr "Quiz"
|
||||
|
||||
#: apps/quiz/models.py:153
|
||||
msgid "Quizzes"
|
||||
msgstr "Quiz"
|
||||
|
||||
#: apps/quiz/models.py:192 apps/quiz/models.py:370
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:13
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:13
|
||||
msgid "User"
|
||||
msgstr "Utente"
|
||||
|
||||
#: apps/quiz/models.py:195 apps/quiz/templates/progress.html:60
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:15
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:16
|
||||
msgid "Score"
|
||||
msgstr "Punteggio"
|
||||
|
||||
#: apps/quiz/models.py:200
|
||||
msgid "User Progress"
|
||||
msgstr "Progressi dell'utente"
|
||||
|
||||
#: apps/quiz/models.py:201
|
||||
msgid "User progress records"
|
||||
msgstr "registarzione progressi utente"
|
||||
|
||||
#: apps/quiz/models.py:261
|
||||
msgid "error"
|
||||
msgstr "errore"
|
||||
|
||||
#: apps/quiz/models.py:261
|
||||
msgid "category does not exist or invalid score"
|
||||
msgstr "categoria inesistente o punteggio non valido"
|
||||
|
||||
#: apps/quiz/models.py:375
|
||||
msgid "Question Order"
|
||||
msgstr "ordine Domande"
|
||||
|
||||
#: apps/quiz/models.py:378
|
||||
msgid "Question List"
|
||||
msgstr "Elenca domande"
|
||||
|
||||
#: apps/quiz/models.py:381
|
||||
msgid "Incorrect questions"
|
||||
msgstr "Domande sbagliate"
|
||||
|
||||
#: apps/quiz/models.py:383
|
||||
msgid "Current Score"
|
||||
msgstr "Punteggio Attuale"
|
||||
|
||||
#: apps/quiz/models.py:386
|
||||
msgid "Complete"
|
||||
msgstr "Completo"
|
||||
|
||||
#: apps/quiz/models.py:389
|
||||
msgid "User Answers"
|
||||
msgstr "Risposte utente"
|
||||
|
||||
#: apps/quiz/models.py:392
|
||||
msgid "Start"
|
||||
msgstr "Inizio"
|
||||
|
||||
#: apps/quiz/models.py:394
|
||||
msgid "End"
|
||||
msgstr "Fine"
|
||||
|
||||
#: apps/quiz/models.py:399
|
||||
msgid "Can see completed exams."
|
||||
msgstr "Puoi vedere gli esami completati."
|
||||
|
||||
#: apps/quiz/models.py:557
|
||||
msgid "Figure"
|
||||
msgstr "Immagine"
|
||||
|
||||
#: apps/quiz/models.py:561
|
||||
msgid "Enter the question text that you want displayed"
|
||||
msgstr "Inserisci il testo della domanda che desideri visualizzare"
|
||||
|
||||
#: apps/quiz/models.py:563 apps/quiz/models.py:575
|
||||
#: apps/quiz/templates/question.html:47
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:21
|
||||
msgid "Question"
|
||||
msgstr "Domanda"
|
||||
|
||||
#: apps/quiz/models.py:567
|
||||
msgid "Explanation to be shown after the question has been answered."
|
||||
msgstr ""
|
||||
"Spiegazione da visulizzare dopo che è stata data la risposta alla domanda."
|
||||
|
||||
#: apps/quiz/models.py:570 apps/quiz/templates/question.html:32
|
||||
#: apps/quiz/templates/result.html:21 apps/quiz/templates/result.html.py:87
|
||||
msgid "Explanation"
|
||||
msgstr "Spiegazione"
|
||||
|
||||
#: apps/quiz/models.py:576
|
||||
msgid "Questions"
|
||||
msgstr "Domande"
|
||||
|
||||
#: apps/quiz/templates/base.html:7
|
||||
msgid "Example Quiz Website"
|
||||
msgstr "Sito Quiz di esempio"
|
||||
|
||||
#: apps/quiz/templates/correct_answer.html:6
|
||||
msgid "You answered the above question incorrectly"
|
||||
msgstr "Hai risposto alla domanda di cui sopra in modo non corretto"
|
||||
|
||||
#: apps/quiz/templates/correct_answer.html:16
|
||||
msgid "This is the correct answer"
|
||||
msgstr "Questa è la risposta corretta"
|
||||
|
||||
#: apps/quiz/templates/correct_answer.html:23
|
||||
msgid "This was your answer."
|
||||
msgstr "Questa è stata la tua risposta "
|
||||
|
||||
#: apps/quiz/templates/progress.html:6
|
||||
msgid "Progress Page"
|
||||
msgstr "Pagina dei progressi"
|
||||
|
||||
#: apps/quiz/templates/progress.html:7
|
||||
msgid "User Progress Page"
|
||||
msgstr "Pagina dei progressi dell'utente"
|
||||
|
||||
#: apps/quiz/templates/progress.html:13
|
||||
msgid "Question Category Scores"
|
||||
msgstr "Punteggi Categoria Domanda "
|
||||
|
||||
#: apps/quiz/templates/progress.html:20
|
||||
msgid "Correctly answererd"
|
||||
msgstr "Risposto correttamente"
|
||||
|
||||
#: apps/quiz/templates/progress.html:21
|
||||
msgid "Incorrect"
|
||||
msgstr "Sbagliato"
|
||||
|
||||
#: apps/quiz/templates/progress.html:50
|
||||
msgid "Previous exam papers"
|
||||
msgstr "Fogli esami precedenti"
|
||||
|
||||
#: apps/quiz/templates/progress.html:52
|
||||
msgid "Below are the results of exams that you have sat."
|
||||
msgstr "Di seguito sono riportati i risultati degli esami sostenuti."
|
||||
|
||||
#: apps/quiz/templates/progress.html:59
|
||||
msgid "Quiz Title"
|
||||
msgstr "Titolo del Quiz"
|
||||
|
||||
#: apps/quiz/templates/progress.html:61
|
||||
msgid "Possible Score"
|
||||
msgstr "Possibile Punteggio"
|
||||
|
||||
#: apps/quiz/templates/question.html:13 apps/quiz/templates/result.html:13
|
||||
msgid "The previous question"
|
||||
msgstr "La domanda precedente"
|
||||
|
||||
#: apps/quiz/templates/question.html:22
|
||||
msgid "Your answer was"
|
||||
msgstr "La tua risposta è stata"
|
||||
|
||||
#: apps/quiz/templates/question.html:47
|
||||
msgid "of"
|
||||
msgstr "di"
|
||||
|
||||
#: apps/quiz/templates/question.html:52
|
||||
msgid "Question category"
|
||||
msgstr "Categoria domanda"
|
||||
|
||||
#: apps/quiz/templates/question.html:74
|
||||
msgid "Check"
|
||||
msgstr "Verifica"
|
||||
|
||||
#: apps/quiz/templates/quiz/category_list.html:3
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:3
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:3
|
||||
msgid "All Quizzes"
|
||||
msgstr "Tutti i Quiz"
|
||||
|
||||
#: apps/quiz/templates/quiz/category_list.html:6
|
||||
msgid "Category list"
|
||||
msgstr "Lista Categorie"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_detail.html:11
|
||||
msgid "You will only get one attempt at this quiz"
|
||||
msgstr "Avrai un solo tentativo a disposizione per questo quiz"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_detail.html:16
|
||||
msgid "Start quiz"
|
||||
msgstr "Comincia il Quiz"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:6
|
||||
msgid "List of quizzes"
|
||||
msgstr "Lista dei quiz"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:14
|
||||
msgid "Exam"
|
||||
msgstr "Esame"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:15
|
||||
msgid "Single attempt"
|
||||
msgstr "Singolo tentivo"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:31
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:42
|
||||
msgid "View details"
|
||||
msgstr "Vedi i dettagli"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:41
|
||||
msgid "There are no available quizzes"
|
||||
msgstr "Non ci sono quiz disponibili"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:5
|
||||
msgid "Result of"
|
||||
msgstr "Risultato di"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:5
|
||||
msgid "for"
|
||||
msgstr "per"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:9
|
||||
msgid "Quiz title"
|
||||
msgstr "Titolo quiz"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:14
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:15
|
||||
msgid "Completed"
|
||||
msgstr "Completato"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:22
|
||||
msgid "User answer"
|
||||
msgstr "Risposta utente"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:41
|
||||
msgid "incorrect"
|
||||
msgstr "errato"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:43
|
||||
msgid "Correct"
|
||||
msgstr "Corretto"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:49
|
||||
msgid "Toggle whether correct"
|
||||
msgstr "Seleziona se corretto"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:6
|
||||
msgid "List of complete exams"
|
||||
msgstr "Lista edgli esami completati"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:28
|
||||
msgid "Filter"
|
||||
msgstr "Filtro"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:52
|
||||
msgid "There are no matching quizzes"
|
||||
msgstr "Non ci sono quiz corrispondenti"
|
||||
|
||||
#: apps/quiz/templates/result.html:7
|
||||
msgid "Exam Results for"
|
||||
msgstr "Risultati esame per"
|
||||
|
||||
#: apps/quiz/templates/result.html:32
|
||||
msgid "Exam results"
|
||||
msgstr "Risultati esame"
|
||||
|
||||
#: apps/quiz/templates/result.html:34
|
||||
msgid "Exam title"
|
||||
msgstr "Titolo esame"
|
||||
|
||||
#: apps/quiz/templates/result.html:38
|
||||
msgid "You answered"
|
||||
msgstr "Hai risposto"
|
||||
|
||||
#: apps/quiz/templates/result.html:38
|
||||
msgid "questions correctly out of"
|
||||
msgstr "domande cui hai correttamente risposto su"
|
||||
|
||||
#: apps/quiz/templates/result.html:38
|
||||
msgid "giving you"
|
||||
msgstr "dandoti"
|
||||
|
||||
#: apps/quiz/templates/result.html:38
|
||||
msgid "percent correct"
|
||||
msgstr "percentuale corretta"
|
||||
|
||||
#: apps/quiz/templates/result.html:48
|
||||
msgid "Review the questions below and try the exam again in the future"
|
||||
msgstr "Riesamina le domande qui sotto e riprova l'esame in futuro"
|
||||
|
||||
#: apps/quiz/templates/result.html:52
|
||||
msgid ""
|
||||
"The result of this exam will be stored in your progress section so you can "
|
||||
"review and monitor your progression"
|
||||
msgstr ""
|
||||
" Il risultato di questo esame verrà memorizzato nella sezione di avanzamento "
|
||||
"in modo da poter verificare e monitorare i tuoi progressi"
|
||||
|
||||
#: apps/quiz/templates/result.html:66
|
||||
msgid "Your session score is"
|
||||
msgstr "Il punteggio di questa sessione è "
|
||||
|
||||
#: apps/quiz/templates/result.html:66
|
||||
msgid "out of a possible"
|
||||
msgstr "su un massimo di"
|
||||
|
||||
#: apps/quiz/templates/result.html:84
|
||||
msgid "Your answer"
|
||||
msgstr "La tua risposta"
|
||||
|
||||
#: apps/quiz/templates/single_complete.html:13
|
||||
msgid "You have already sat this exam and only one sitting is permitted"
|
||||
msgstr "Hai già sostenuto questo esame ed è consentito farlo solo una volta"
|
||||
|
||||
#: apps/quiz/templates/single_complete.html:15
|
||||
msgid "This exam is only accessible to signed in users"
|
||||
msgstr "Questo esame è disponibile solo per gli utenti collegati"
|
||||
|
||||
#: apps/quiz/templates/view_quiz_category.html:3
|
||||
msgid "Quizzes related to"
|
||||
msgstr "Quiz collegati a"
|
||||
|
||||
#: apps/quiz/templates/view_quiz_category.html:6
|
||||
msgid "Quizzes in the"
|
||||
msgstr "Quiz nella"
|
||||
|
||||
#: apps/quiz/templates/view_quiz_category.html:6
|
||||
msgid "category"
|
||||
msgstr "categoria"
|
||||
|
||||
#: apps/quiz/templates/view_quiz_category.html:20
|
||||
msgid "There are no quizzes"
|
||||
msgstr "Non ci sono quiz"
|
||||
BIN
quiz-app/quiz/locale/ru/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/quiz/locale/ru/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
464
quiz-app/quiz/locale/ru/LC_MESSAGES/django.po
Normal file
464
quiz-app/quiz/locale/ru/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,464 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-quiz\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-01-01 11:37+0400\n"
|
||||
"PO-Revision-Date: 2015-08-21 19:40+0500\n"
|
||||
"Last-Translator: Eugena Mihailikova <eugena.mihailikova@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
|
||||
#: admin.py:31 admin.py:33 models.py:576
|
||||
msgid "Questions"
|
||||
msgstr "Вопросы"
|
||||
|
||||
#: models.py:30 models.py:37 models.py:53 models.py:83 models.py:545
|
||||
#: templates/progress.html:19 templates/quiz/quiz_detail.html:9
|
||||
#: templates/quiz/quiz_list.html:13 templates/quiz/sitting_detail.html:10
|
||||
msgid "Category"
|
||||
msgstr "Категория"
|
||||
|
||||
#: models.py:38
|
||||
msgid "Categories"
|
||||
msgstr "Категории"
|
||||
|
||||
#: models.py:48 models.py:58 models.py:550
|
||||
msgid "Sub-Category"
|
||||
msgstr "Подкатегория"
|
||||
|
||||
#: models.py:59
|
||||
msgid "Sub-Categories"
|
||||
msgstr "Подкатегории"
|
||||
|
||||
#: models.py:69 templates/quiz/quiz_list.html:12
|
||||
msgid "Title"
|
||||
msgstr "Название"
|
||||
|
||||
#: models.py:73
|
||||
msgid "Description"
|
||||
msgstr "Описание"
|
||||
|
||||
#: models.py:74
|
||||
msgid "a description of the quiz"
|
||||
msgstr "описание теста"
|
||||
|
||||
#: models.py:78
|
||||
msgid "a user friendly url"
|
||||
msgstr "url теста"
|
||||
|
||||
#: models.py:79
|
||||
msgid "user friendly url"
|
||||
msgstr "url теста"
|
||||
|
||||
#: models.py:87
|
||||
msgid "Random Order"
|
||||
msgstr "Случайный порядок"
|
||||
|
||||
#: models.py:88
|
||||
msgid "Display the questions in a random order or as they are set?"
|
||||
msgstr "Отображать вопросы в случайном порядке или в порядке добавления?"
|
||||
|
||||
#: models.py:93
|
||||
msgid "Max Questions"
|
||||
msgstr "Максимальное количество вопросов"
|
||||
|
||||
#: models.py:94
|
||||
msgid "Number of questions to be answered on each attempt."
|
||||
msgstr ""
|
||||
"Количество вопросов, на которые должны быть даны ответы при каждой попытке"
|
||||
|
||||
#: models.py:98
|
||||
msgid ""
|
||||
"Correct answer is NOT shown after question. Answers displayed at the end."
|
||||
msgstr ""
|
||||
"Правильный ответ НЕ показан после вопроса. Ответы отображаются после "
|
||||
"прохождения теста"
|
||||
|
||||
#: models.py:100
|
||||
msgid "Answers at end"
|
||||
msgstr "Ответы в конце"
|
||||
|
||||
#: models.py:104
|
||||
msgid ""
|
||||
"If yes, the result of each attempt by a user will be stored. Necessary for "
|
||||
"marking."
|
||||
msgstr "Если отмечено, результаты каждой попытки пользователя будет сохранен"
|
||||
|
||||
#: models.py:107
|
||||
msgid "Exam Paper"
|
||||
msgstr "Экзаменационный лист"
|
||||
|
||||
#: models.py:111
|
||||
msgid ""
|
||||
"If yes, only one attempt by a user will be permitted. Non users cannot sit "
|
||||
"this exam."
|
||||
msgstr "Если отмечено, пользователю будет разрешена только одна попытка"
|
||||
|
||||
#: models.py:114
|
||||
msgid "Single Attempt"
|
||||
msgstr "Единственная попытка"
|
||||
|
||||
#: models.py:118
|
||||
msgid "Percentage required to pass exam."
|
||||
msgstr "Процент правильных ответов для прохождения теста"
|
||||
|
||||
#: models.py:122
|
||||
msgid "Displayed if user passes."
|
||||
msgstr "Отображается, если пользователь успешно прошел тест"
|
||||
|
||||
#: models.py:123
|
||||
msgid "Success Text"
|
||||
msgstr "Текст в случае успеха"
|
||||
|
||||
#: models.py:126
|
||||
msgid "Fail Text"
|
||||
msgstr "Текст в случае неудачи"
|
||||
|
||||
#: models.py:127
|
||||
msgid "Displayed if user fails."
|
||||
msgstr "Отображается, если пользователь провалил тест"
|
||||
|
||||
#: models.py:131
|
||||
msgid "Draft"
|
||||
msgstr "Черновик"
|
||||
|
||||
#: models.py:132
|
||||
msgid ""
|
||||
"If yes, the quiz is not displayed in the quiz list and can only be taken by "
|
||||
"users who can edit quizzes."
|
||||
msgstr "Если отмечено, то не отображается в публичном списке и может быть "
|
||||
"взято только пользователями с соответствующим правом"
|
||||
|
||||
#: models.py:152 models.py:372 models.py:541
|
||||
#: templates/quiz/sitting_list.html:14
|
||||
msgid "Quiz"
|
||||
msgstr "Тест"
|
||||
|
||||
#: models.py:153
|
||||
msgid "Quizzes"
|
||||
msgstr "Тесты"
|
||||
|
||||
#: models.py:192 models.py:370 templates/quiz/sitting_detail.html:13
|
||||
#: templates/quiz/sitting_list.html:13
|
||||
msgid "User"
|
||||
msgstr "Пользователь"
|
||||
|
||||
#: models.py:195 templates/progress.html:60
|
||||
#: templates/quiz/sitting_detail.html:15 templates/quiz/sitting_list.html:16
|
||||
msgid "Score"
|
||||
msgstr "Баллы"
|
||||
|
||||
#: models.py:200
|
||||
msgid "User Progress"
|
||||
msgstr "Прогресс пользователя"
|
||||
|
||||
#: models.py:201
|
||||
msgid "User progress records"
|
||||
msgstr "Прогресс пользователя"
|
||||
|
||||
#: models.py:261
|
||||
msgid "error"
|
||||
msgstr "ошибка"
|
||||
|
||||
#: models.py:261
|
||||
msgid "category does not exist or invalid score"
|
||||
msgstr "категории не существует или недопустимый балл"
|
||||
|
||||
#: models.py:375
|
||||
msgid "Question Order"
|
||||
msgstr "Порядок вопросов"
|
||||
|
||||
#: models.py:378
|
||||
msgid "Question List"
|
||||
msgstr "Список вопросов"
|
||||
|
||||
#: models.py:381
|
||||
msgid "Incorrect questions"
|
||||
msgstr "Вопросы, на которые дан неверный ответ"
|
||||
|
||||
#: models.py:383
|
||||
msgid "Current Score"
|
||||
msgstr "Текущий балл"
|
||||
|
||||
#: models.py:386
|
||||
msgid "Complete"
|
||||
msgstr "Завершен"
|
||||
|
||||
#: models.py:389
|
||||
msgid "User Answers"
|
||||
msgstr "Ответы пользователя"
|
||||
|
||||
#: models.py:392
|
||||
msgid "Start"
|
||||
msgstr "Начало"
|
||||
|
||||
#: models.py:394
|
||||
msgid "End"
|
||||
msgstr "Окончание"
|
||||
|
||||
#: models.py:399
|
||||
msgid "Can see completed exams."
|
||||
msgstr "Может просматривать оконченные тесты"
|
||||
|
||||
#: models.py:557
|
||||
msgid "Figure"
|
||||
msgstr "Рисунок"
|
||||
|
||||
#: models.py:561
|
||||
msgid "Enter the question text that you want displayed"
|
||||
msgstr "Введите текст вопроса, который должен отобразиться"
|
||||
|
||||
#: models.py:563 models.py:575 templates/question.html:47
|
||||
#: templates/quiz/sitting_detail.html:21
|
||||
msgid "Question"
|
||||
msgstr "Вопрос"
|
||||
|
||||
#: models.py:567
|
||||
msgid "Explanation to be shown after the question has been answered."
|
||||
msgstr "Объяснение показывается после того, как дан ответ на вопрос"
|
||||
|
||||
#: models.py:570 templates/question.html:32 templates/result.html:21
|
||||
#: templates/result.html.py:87
|
||||
msgid "Explanation"
|
||||
msgstr "Объяснение"
|
||||
|
||||
#: templates/base.html:7
|
||||
msgid "Example Quiz Website"
|
||||
msgstr "Тесты"
|
||||
|
||||
#: templates/correct_answer.html:6
|
||||
msgid "You answered the above question incorrectly"
|
||||
msgstr "Вы дали неверный ответ"
|
||||
|
||||
#: templates/correct_answer.html:16
|
||||
msgid "This is the correct answer"
|
||||
msgstr "Это правильный ответ"
|
||||
|
||||
#: templates/correct_answer.html:23
|
||||
msgid "This was your answer."
|
||||
msgstr "Это был ваш ответ"
|
||||
|
||||
#: templates/progress.html:6
|
||||
msgid "Progress Page"
|
||||
msgstr "Страница прогесса"
|
||||
|
||||
#: templates/progress.html:7
|
||||
msgid "User Progress Page"
|
||||
msgstr "Страница прогресса пользователя"
|
||||
|
||||
#: templates/progress.html:13
|
||||
msgid "Question Category Scores"
|
||||
msgstr "Баллы по категориям вопросов"
|
||||
|
||||
#: templates/progress.html:20
|
||||
msgid "Correctly answererd"
|
||||
msgstr "Верных ответов"
|
||||
|
||||
#: templates/progress.html:21
|
||||
msgid "Incorrect"
|
||||
msgstr "Неверных ответов"
|
||||
|
||||
#: templates/progress.html:50
|
||||
msgid "Previous exam papers"
|
||||
msgstr "Список предыдущих экзаменов"
|
||||
|
||||
#: templates/progress.html:52
|
||||
msgid "Below are the results of exams that you have sat."
|
||||
msgstr "Ниже представлены результаты пройденных Вами тестов"
|
||||
|
||||
#: templates/progress.html:59
|
||||
msgid "Quiz Title"
|
||||
msgstr "Название теста"
|
||||
|
||||
#: templates/progress.html:61
|
||||
msgid "Possible Score"
|
||||
msgstr "Возможный балл"
|
||||
|
||||
#: templates/question.html:13 templates/result.html:13
|
||||
msgid "The previous question"
|
||||
msgstr "Предыдущий вопрос"
|
||||
|
||||
#: templates/question.html:22
|
||||
msgid "Your answer was"
|
||||
msgstr "Ваш ответ был"
|
||||
|
||||
#: templates/question.html:47
|
||||
msgid "of"
|
||||
msgstr "из"
|
||||
|
||||
#: templates/question.html:52
|
||||
msgid "Question category"
|
||||
msgstr "Категория вопроса"
|
||||
|
||||
#: templates/question.html:74
|
||||
msgid "Check"
|
||||
msgstr "Ответить"
|
||||
|
||||
#: templates/quiz/category_list.html:3 templates/quiz/quiz_list.html:3
|
||||
#: templates/quiz/sitting_list.html:3
|
||||
msgid "All Quizzes"
|
||||
msgstr "Все тесты"
|
||||
|
||||
#: templates/quiz/category_list.html:6
|
||||
msgid "Category list"
|
||||
msgstr "Список категорий"
|
||||
|
||||
#: templates/quiz/quiz_detail.html:11
|
||||
msgid "You will only get one attempt at this quiz"
|
||||
msgstr "У вас есть одна попытка для прохождения данного теста"
|
||||
|
||||
#: templates/quiz/quiz_detail.html:16
|
||||
msgid "Start quiz"
|
||||
msgstr "Начать тест"
|
||||
|
||||
#: templates/quiz/quiz_list.html:6
|
||||
msgid "List of quizzes"
|
||||
msgstr "Список тестов"
|
||||
|
||||
#: templates/quiz/quiz_list.html:14
|
||||
msgid "Exam"
|
||||
msgstr "Тестирование"
|
||||
|
||||
#: templates/quiz/quiz_list.html:15
|
||||
msgid "Single attempt"
|
||||
msgstr "Единственная попытка"
|
||||
|
||||
#: templates/quiz/quiz_list.html:31 templates/quiz/sitting_list.html:42
|
||||
msgid "View details"
|
||||
msgstr "Подробнее"
|
||||
|
||||
#: templates/quiz/quiz_list.html:41
|
||||
msgid "There are no available quizzes"
|
||||
msgstr "Доступных тестов нет"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:5
|
||||
msgid "Result of"
|
||||
msgstr "Результаты"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:5
|
||||
msgid "for"
|
||||
msgstr "для"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:9
|
||||
msgid "Quiz title"
|
||||
msgstr "Назвние теста"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:14 templates/quiz/sitting_list.html:15
|
||||
msgid "Completed"
|
||||
msgstr "Завершено"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:22
|
||||
msgid "User answer"
|
||||
msgstr "Ответ пользователя"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:41
|
||||
msgid "incorrect"
|
||||
msgstr "Неверно"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:43
|
||||
msgid "Correct"
|
||||
msgstr "Верно"
|
||||
|
||||
#: templates/quiz/sitting_detail.html:49
|
||||
msgid "Toggle whether correct"
|
||||
msgstr "Изменить результат"
|
||||
|
||||
#: templates/quiz/sitting_list.html:6
|
||||
msgid "List of complete exams"
|
||||
msgstr "Список завершенных тестов"
|
||||
|
||||
#: templates/quiz/sitting_list.html:28
|
||||
msgid "Filter"
|
||||
msgstr "Фильтр"
|
||||
|
||||
#: templates/quiz/sitting_list.html:52
|
||||
msgid "There are no matching quizzes"
|
||||
msgstr "Подходящих тестов нет"
|
||||
|
||||
#: templates/result.html:7
|
||||
msgid "Exam Results for"
|
||||
msgstr "Результат теста для"
|
||||
|
||||
#: templates/result.html:32
|
||||
msgid "Exam results"
|
||||
msgstr "Результаты тестирования"
|
||||
|
||||
#: templates/result.html:34
|
||||
msgid "Exam title"
|
||||
msgstr "Название теста"
|
||||
|
||||
#: templates/result.html:38
|
||||
msgid "You answered"
|
||||
msgstr "Ваш результат"
|
||||
|
||||
#: templates/result.html:38
|
||||
msgid "questions correctly out of"
|
||||
msgstr "правильных ответов из"
|
||||
|
||||
#: templates/result.html:38
|
||||
msgid "giving you"
|
||||
msgstr "вы дали"
|
||||
|
||||
#: templates/result.html:38
|
||||
msgid "percent correct"
|
||||
msgstr "процент правильных ответов"
|
||||
|
||||
#: templates/result.html:48
|
||||
msgid "Review the questions below and try the exam again in the future"
|
||||
msgstr ""
|
||||
"Просмотрите вопросы, представленные ниже и попробуйте пройти тест еще раз"
|
||||
|
||||
#: templates/result.html:52
|
||||
msgid ""
|
||||
"The result of this exam will be stored in your progress section so you can "
|
||||
"review and monitor your progression"
|
||||
msgstr ""
|
||||
"Результаты данного экзамена будут сохранены. Вы сможете просматривать ваш "
|
||||
"прогресс"
|
||||
|
||||
#: templates/result.html:66
|
||||
msgid "Your session score is"
|
||||
msgstr "Балл вашей сессии"
|
||||
|
||||
#: templates/result.html:66
|
||||
msgid "out of a possible"
|
||||
msgstr "из возможных"
|
||||
|
||||
#: templates/result.html:84
|
||||
msgid "Your answer"
|
||||
msgstr "Ваш ответ"
|
||||
|
||||
#: templates/single_complete.html:13
|
||||
msgid "You have already sat this exam and only one sitting is permitted"
|
||||
msgstr "Вы уже прошли данный тест. Разрешена только одна попытка"
|
||||
|
||||
#: templates/single_complete.html:15
|
||||
msgid "This exam is only accessible to signed in users"
|
||||
msgstr "Этот тест доступен только зарегистрированным пользователям"
|
||||
|
||||
#: templates/view_quiz_category.html:3
|
||||
msgid "Quizzes related to"
|
||||
msgstr "Тесты относятся к"
|
||||
|
||||
#: templates/view_quiz_category.html:6
|
||||
msgid "Quizzes in the"
|
||||
msgstr "Тесты в"
|
||||
|
||||
#: templates/view_quiz_category.html:6
|
||||
msgid "category"
|
||||
msgstr "категория"
|
||||
|
||||
#: templates/view_quiz_category.html:20
|
||||
msgid "There are no quizzes"
|
||||
msgstr "Тестов нет"
|
||||
BIN
quiz-app/quiz/locale/zh_CN/LC_MESSAGES/django.mo
Normal file
BIN
quiz-app/quiz/locale/zh_CN/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
474
quiz-app/quiz/locale/zh_CN/LC_MESSAGES/django.po
Normal file
474
quiz-app/quiz/locale/zh_CN/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,474 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-10-31 22:44+0000\n"
|
||||
"PO-Revision-Date: 2015-10-31 22:43+0000\n"
|
||||
"Last-Translator: b' <>'\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \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"
|
||||
"X-Translated-Using: django-rosetta 0.7.6\n"
|
||||
|
||||
#: apps/quiz/models.py:30 apps/quiz/models.py:37 apps/quiz/models.py:53
|
||||
#: apps/quiz/models.py:83 apps/quiz/models.py:545
|
||||
#: apps/quiz/templates/progress.html:19
|
||||
#: apps/quiz/templates/quiz/quiz_detail.html:9
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:13
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:10
|
||||
msgid "Category"
|
||||
msgstr "类别"
|
||||
|
||||
#: apps/quiz/models.py:38
|
||||
msgid "Categories"
|
||||
msgstr "类别"
|
||||
|
||||
#: apps/quiz/models.py:48 apps/quiz/models.py:58 apps/quiz/models.py:550
|
||||
msgid "Sub-Category"
|
||||
msgstr "子类"
|
||||
|
||||
#: apps/quiz/models.py:59
|
||||
msgid "Sub-Categories"
|
||||
msgstr "子类"
|
||||
|
||||
#: apps/quiz/models.py:69 apps/quiz/templates/quiz/quiz_list.html:12
|
||||
msgid "Title"
|
||||
msgstr "标题"
|
||||
|
||||
#: apps/quiz/models.py:73
|
||||
msgid "Description"
|
||||
msgstr "描述"
|
||||
|
||||
#: apps/quiz/models.py:74
|
||||
msgid "a description of the quiz"
|
||||
msgstr "测试的描述"
|
||||
|
||||
#: apps/quiz/models.py:78
|
||||
msgid "a user friendly url"
|
||||
msgstr "一个用户友好的URL"
|
||||
|
||||
#: apps/quiz/models.py:79
|
||||
msgid "user friendly url"
|
||||
msgstr "用户友好的URL"
|
||||
|
||||
#: apps/quiz/models.py:87
|
||||
msgid "Random Order"
|
||||
msgstr "随机次序"
|
||||
|
||||
#: apps/quiz/models.py:88
|
||||
msgid "Display the questions in a random order or as they are set?"
|
||||
msgstr "按设定的次序还是随机次序显示问题?"
|
||||
|
||||
#: apps/quiz/models.py:93
|
||||
msgid "Max Questions"
|
||||
msgstr "最大问题数量"
|
||||
|
||||
#: apps/quiz/models.py:94
|
||||
msgid "Number of questions to be answered on each attempt."
|
||||
msgstr "每次尝试可回答的问题数量。"
|
||||
|
||||
#: apps/quiz/models.py:98
|
||||
msgid ""
|
||||
"Correct answer is NOT shown after question. Answers displayed at the end."
|
||||
msgstr ""
|
||||
"正确答案不会在问题后显示。回答显示在最后。"
|
||||
|
||||
#: apps/quiz/models.py:100
|
||||
msgid "Answers at end"
|
||||
msgstr "最后给出答案"
|
||||
|
||||
#: apps/quiz/models.py:104
|
||||
msgid ""
|
||||
"If yes, the result of each attempt by a user will be stored. Necessary for "
|
||||
"marking."
|
||||
msgstr ""
|
||||
"如果是,用户每次尝试的结果都将记录。如需打分此项必选。"
|
||||
|
||||
#: apps/quiz/models.py:107
|
||||
msgid "Exam Paper"
|
||||
msgstr "试卷"
|
||||
|
||||
#: apps/quiz/models.py:111
|
||||
msgid ""
|
||||
"If yes, only one attempt by a user will be permitted. Non users cannot sit "
|
||||
"this exam."
|
||||
msgstr ""
|
||||
"如果是,一个用户只允许尝试一次。非注册用户不能参加本考试。"
|
||||
|
||||
#: apps/quiz/models.py:114
|
||||
msgid "Single Attempt"
|
||||
msgstr "单次尝试"
|
||||
|
||||
#: apps/quiz/models.py:116
|
||||
msgid "Pass Mark"
|
||||
msgstr "通过分数"
|
||||
|
||||
#: apps/quiz/models.py:118
|
||||
msgid "Percentage required to pass exam."
|
||||
msgstr "通过考试需要的百分数。"
|
||||
|
||||
#: apps/quiz/models.py:122
|
||||
msgid "Displayed if user passes."
|
||||
msgstr "如果用户通过则显示。"
|
||||
|
||||
#: apps/quiz/models.py:123
|
||||
msgid "Success Text"
|
||||
msgstr "成功文本"
|
||||
|
||||
#: apps/quiz/models.py:126
|
||||
msgid "Fail Text"
|
||||
msgstr "失败文本"
|
||||
|
||||
#: apps/quiz/models.py:127
|
||||
msgid "Displayed if user fails."
|
||||
msgstr "如果用户未通过则显示"
|
||||
|
||||
#: apps/quiz/models.py:131
|
||||
msgid "Draft"
|
||||
msgstr "草稿"
|
||||
|
||||
#: apps/quiz/models.py:132
|
||||
msgid ""
|
||||
"If yes, the quiz is not displayed in the quiz list and can only be taken by "
|
||||
"users who can edit quizzes."
|
||||
msgstr ""
|
||||
"如果是,测试不会显示在测试列表里,只能被可以编辑测试的用户操作。"
|
||||
|
||||
#: apps/quiz/models.py:152 apps/quiz/models.py:372 apps/quiz/models.py:541
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:14
|
||||
msgid "Quiz"
|
||||
msgstr "测试"
|
||||
|
||||
#: apps/quiz/models.py:153
|
||||
msgid "Quizzes"
|
||||
msgstr "测试"
|
||||
|
||||
#: apps/quiz/models.py:192 apps/quiz/models.py:370
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:13
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:13
|
||||
msgid "User"
|
||||
msgstr "用户"
|
||||
|
||||
#: apps/quiz/models.py:195 apps/quiz/templates/progress.html:60
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:15
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:16
|
||||
msgid "Score"
|
||||
msgstr "得分"
|
||||
|
||||
#: apps/quiz/models.py:200
|
||||
msgid "User Progress"
|
||||
msgstr "用户进度"
|
||||
|
||||
#: apps/quiz/models.py:201
|
||||
msgid "User progress records"
|
||||
msgstr "用户进度记录"
|
||||
|
||||
#: apps/quiz/models.py:261
|
||||
msgid "error"
|
||||
msgstr "错误"
|
||||
|
||||
#: apps/quiz/models.py:261
|
||||
msgid "category does not exist or invalid score"
|
||||
msgstr "类别不存在或得分无效"
|
||||
|
||||
#: apps/quiz/models.py:375
|
||||
msgid "Question Order"
|
||||
msgstr "问题次序"
|
||||
|
||||
#: apps/quiz/models.py:378
|
||||
msgid "Question List"
|
||||
msgstr "问题列表"
|
||||
|
||||
#: apps/quiz/models.py:381
|
||||
msgid "Incorrect questions"
|
||||
msgstr "不正确的答案"
|
||||
|
||||
#: apps/quiz/models.py:383
|
||||
msgid "Current Score"
|
||||
msgstr "当前得分"
|
||||
|
||||
#: apps/quiz/models.py:386
|
||||
msgid "Complete"
|
||||
msgstr "完成"
|
||||
|
||||
#: apps/quiz/models.py:389
|
||||
msgid "User Answers"
|
||||
msgstr "用户回答"
|
||||
|
||||
#: apps/quiz/models.py:392
|
||||
msgid "Start"
|
||||
msgstr "开始"
|
||||
|
||||
#: apps/quiz/models.py:394
|
||||
msgid "End"
|
||||
msgstr "结束"
|
||||
|
||||
#: apps/quiz/models.py:399
|
||||
msgid "Can see completed exams."
|
||||
msgstr "可以看到已完成的考试"
|
||||
|
||||
#: apps/quiz/models.py:557
|
||||
msgid "Figure"
|
||||
msgstr "图像"
|
||||
|
||||
#: apps/quiz/models.py:561
|
||||
msgid "Enter the question text that you want displayed"
|
||||
msgstr "输入你想显示的问题文本"
|
||||
|
||||
#: apps/quiz/models.py:563 apps/quiz/models.py:575
|
||||
#: apps/quiz/templates/question.html:47
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:21
|
||||
msgid "Question"
|
||||
msgstr "问题"
|
||||
|
||||
#: apps/quiz/models.py:567
|
||||
msgid "Explanation to be shown after the question has been answered."
|
||||
msgstr "回答问题后将展示题解。"
|
||||
|
||||
#: apps/quiz/models.py:570 apps/quiz/templates/question.html:32
|
||||
#: apps/quiz/templates/result.html:21 apps/quiz/templates/result.html.py:87
|
||||
msgid "Explanation"
|
||||
msgstr "题解"
|
||||
|
||||
#: apps/quiz/models.py:576
|
||||
msgid "Questions"
|
||||
msgstr "问题"
|
||||
|
||||
#: apps/quiz/templates/base.html:7
|
||||
msgid "Example Quiz Website"
|
||||
msgstr "测试样例网站"
|
||||
|
||||
#: apps/quiz/templates/correct_answer.html:6
|
||||
msgid "You answered the above question incorrectly"
|
||||
msgstr "你错误回答了以上问题"
|
||||
|
||||
#: apps/quiz/templates/correct_answer.html:16
|
||||
msgid "This is the correct answer"
|
||||
msgstr "这是正确答案"
|
||||
|
||||
#: apps/quiz/templates/correct_answer.html:23
|
||||
msgid "This was your answer."
|
||||
msgstr "这是你的回答。"
|
||||
|
||||
#: apps/quiz/templates/progress.html:6
|
||||
msgid "Progress Page"
|
||||
msgstr "进度页面"
|
||||
|
||||
#: apps/quiz/templates/progress.html:7
|
||||
msgid "User Progress Page"
|
||||
msgstr "用户进度页面"
|
||||
|
||||
#: apps/quiz/templates/progress.html:13
|
||||
msgid "Question Category Scores"
|
||||
msgstr "问题类别得分"
|
||||
|
||||
#: apps/quiz/templates/progress.html:20
|
||||
msgid "Correctly answererd"
|
||||
msgstr "正确回答了"
|
||||
|
||||
#: apps/quiz/templates/progress.html:21
|
||||
msgid "Incorrect"
|
||||
msgstr "不正确"
|
||||
|
||||
#: apps/quiz/templates/progress.html:50
|
||||
msgid "Previous exam papers"
|
||||
msgstr "前一试卷"
|
||||
|
||||
#: apps/quiz/templates/progress.html:52
|
||||
msgid "Below are the results of exams that you have sat."
|
||||
msgstr "以下是你已经参加的考试的结果。"
|
||||
|
||||
#: apps/quiz/templates/progress.html:59
|
||||
msgid "Quiz Title"
|
||||
msgstr "测试标题"
|
||||
|
||||
#: apps/quiz/templates/progress.html:61
|
||||
msgid "Possible Score"
|
||||
msgstr "可能得分"
|
||||
|
||||
#: apps/quiz/templates/question.html:13 apps/quiz/templates/result.html:13
|
||||
msgid "The previous question"
|
||||
msgstr "前一问题"
|
||||
|
||||
#: apps/quiz/templates/question.html:22
|
||||
msgid "Your answer was"
|
||||
msgstr "你的回答是"
|
||||
|
||||
#: apps/quiz/templates/question.html:47
|
||||
msgid "of"
|
||||
msgstr "属于"
|
||||
|
||||
#: apps/quiz/templates/question.html:52
|
||||
msgid "Question category"
|
||||
msgstr "问题类别"
|
||||
|
||||
#: apps/quiz/templates/question.html:74
|
||||
msgid "Check"
|
||||
msgstr "检查"
|
||||
|
||||
#: apps/quiz/templates/quiz/category_list.html:3
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:3
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:3
|
||||
msgid "All Quizzes"
|
||||
msgstr "全部测试"
|
||||
|
||||
#: apps/quiz/templates/quiz/category_list.html:6
|
||||
msgid "Category list"
|
||||
msgstr "类别列表"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_detail.html:11
|
||||
msgid "You will only get one attempt at this quiz"
|
||||
msgstr "本测试你只有一次尝试的机会"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_detail.html:16
|
||||
msgid "Start quiz"
|
||||
msgstr "开始测试"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:6
|
||||
msgid "List of quizzes"
|
||||
msgstr "测试列表"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:14
|
||||
msgid "Exam"
|
||||
msgstr "考试"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:15
|
||||
msgid "Single attempt"
|
||||
msgstr "单一尝试"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:31
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:42
|
||||
msgid "View details"
|
||||
msgstr "显示细节"
|
||||
|
||||
#: apps/quiz/templates/quiz/quiz_list.html:41
|
||||
msgid "There are no available quizzes"
|
||||
msgstr "没有可做的测试"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:5
|
||||
msgid "Result of"
|
||||
msgstr "结果属于"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:5
|
||||
msgid "for"
|
||||
msgstr "为了"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:9
|
||||
msgid "Quiz title"
|
||||
msgstr "测试标题"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:14
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:15
|
||||
msgid "Completed"
|
||||
msgstr "已完成"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:22
|
||||
msgid "User answer"
|
||||
msgstr "用户的回答"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:41
|
||||
msgid "incorrect"
|
||||
msgstr "不正确"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:43
|
||||
msgid "Correct"
|
||||
msgstr "正确"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_detail.html:49
|
||||
msgid "Toggle whether correct"
|
||||
msgstr "切换是否正确"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:6
|
||||
msgid "List of complete exams"
|
||||
msgstr "已完成考试列表"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:28
|
||||
msgid "Filter"
|
||||
msgstr "过滤"
|
||||
|
||||
#: apps/quiz/templates/quiz/sitting_list.html:52
|
||||
msgid "There are no matching quizzes"
|
||||
msgstr "没有符合条件的测试"
|
||||
|
||||
#: apps/quiz/templates/result.html:7
|
||||
msgid "Exam Results for"
|
||||
msgstr "考试结果"
|
||||
|
||||
#: apps/quiz/templates/result.html:32
|
||||
msgid "Exam results"
|
||||
msgstr "考试结果"
|
||||
|
||||
#: apps/quiz/templates/result.html:34
|
||||
msgid "Exam title"
|
||||
msgstr "考试标题"
|
||||
|
||||
#: apps/quiz/templates/result.html:38
|
||||
msgid "You answered"
|
||||
msgstr "你正确回答了"
|
||||
|
||||
#: apps/quiz/templates/result.html:38
|
||||
msgid "questions correctly out of"
|
||||
msgstr "个问题,总共"
|
||||
|
||||
#: apps/quiz/templates/result.html:38
|
||||
msgid "giving you"
|
||||
msgstr "个问题"
|
||||
|
||||
#: apps/quiz/templates/result.html:38
|
||||
msgid "percent correct"
|
||||
msgstr "%正确率"
|
||||
|
||||
#: apps/quiz/templates/result.html:48
|
||||
msgid "Review the questions below and try the exam again in the future"
|
||||
msgstr "回顾以下问题,将来可以再尝试本考试"
|
||||
|
||||
#: apps/quiz/templates/result.html:52
|
||||
msgid ""
|
||||
"The result of this exam will be stored in your progress section so you can "
|
||||
"review and monitor your progression"
|
||||
msgstr "本考试的结果将储存于你的进度区域,你可以查看和监控你的进度。"
|
||||
|
||||
#: apps/quiz/templates/result.html:66
|
||||
msgid "Your session score is"
|
||||
msgstr "你目前得分为"
|
||||
|
||||
#: apps/quiz/templates/result.html:66
|
||||
msgid "out of a possible"
|
||||
msgstr "而最多可能得分为"
|
||||
|
||||
#: apps/quiz/templates/result.html:84
|
||||
msgid "Your answer"
|
||||
msgstr "你的答案"
|
||||
|
||||
#: apps/quiz/templates/single_complete.html:13
|
||||
msgid "You have already sat this exam and only one sitting is permitted"
|
||||
msgstr "你已经参加本考试,只能参加一次"
|
||||
|
||||
#: apps/quiz/templates/single_complete.html:15
|
||||
msgid "This exam is only accessible to signed in users"
|
||||
msgstr "用户需登录方可访问本考试"
|
||||
|
||||
#: apps/quiz/templates/view_quiz_category.html:3
|
||||
msgid "Quizzes related to"
|
||||
msgstr "测试有关于"
|
||||
|
||||
#: apps/quiz/templates/view_quiz_category.html:6
|
||||
msgid "Quizzes in the"
|
||||
msgstr "测试属于"
|
||||
|
||||
#: apps/quiz/templates/view_quiz_category.html:6
|
||||
msgid "category"
|
||||
msgstr "类别"
|
||||
|
||||
#: apps/quiz/templates/view_quiz_category.html:20
|
||||
msgid "There are no quizzes"
|
||||
msgstr "没有测试"
|
||||
123
quiz-app/quiz/migrations/0001_initial.py
Normal file
123
quiz-app/quiz/migrations/0001_initial.py
Normal file
@ -0,0 +1,123 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.3 on 2017-06-22 11:20
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.conf import settings
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import re
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Category',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('category', models.CharField(blank=True, max_length=250, null=True, unique=True, verbose_name='Category')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Category',
|
||||
'verbose_name_plural': 'Categories',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Progress',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('score', models.CharField(max_length=1024, validators=[django.core.validators.RegexValidator(re.compile('^\\d+(?:\\,\\d+)*\\Z', 32), code='invalid', message='Enter only digits separated by commas.')], verbose_name='Score')),
|
||||
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'User Progress',
|
||||
'verbose_name_plural': 'User progress records',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Question',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('figure', models.ImageField(blank=True, null=True, upload_to='uploads/%Y/%m/%d', verbose_name='Figure')),
|
||||
('content', models.CharField(help_text='Enter the question text that you want displayed', max_length=1000, verbose_name='Question')),
|
||||
('explanation', models.TextField(blank=True, help_text='Explanation to be shown after the question has been answered.', max_length=2000, verbose_name='Explanation')),
|
||||
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='quiz.Category', verbose_name='Category')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Question',
|
||||
'verbose_name_plural': 'Questions',
|
||||
'ordering': ['category'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Quiz',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('title', models.CharField(max_length=60, verbose_name='Title')),
|
||||
('description', models.TextField(blank=True, help_text='a description of the quiz', verbose_name='Description')),
|
||||
('url', models.SlugField(help_text='a user friendly url', max_length=60, verbose_name='user friendly url')),
|
||||
('random_order', models.BooleanField(default=False, help_text='Display the questions in a random order or as they are set?', verbose_name='Random Order')),
|
||||
('max_questions', models.PositiveIntegerField(blank=True, help_text='Number of questions to be answered on each attempt.', null=True, verbose_name='Max Questions')),
|
||||
('answers_at_end', models.BooleanField(default=False, help_text='Correct answer is NOT shown after question. Answers displayed at the end.', verbose_name='Answers at end')),
|
||||
('exam_paper', models.BooleanField(default=False, help_text='If yes, the result of each attempt by a user will be stored. Necessary for marking.', verbose_name='Exam Paper')),
|
||||
('single_attempt', models.BooleanField(default=False, help_text='If yes, only one attempt by a user will be permitted. Non users cannot sit this exam.', verbose_name='Single Attempt')),
|
||||
('pass_mark', models.SmallIntegerField(blank=True, default=0, help_text='Percentage required to pass exam.', validators=[django.core.validators.MaxValueValidator(100)], verbose_name='Pass Mark')),
|
||||
('success_text', models.TextField(blank=True, help_text='Displayed if user passes.', verbose_name='Success Text')),
|
||||
('fail_text', models.TextField(blank=True, help_text='Displayed if user fails.', verbose_name='Fail Text')),
|
||||
('draft', models.BooleanField(default=False, help_text='If yes, the quiz is not displayed in the quiz list and can only be taken by users who can edit quizzes.', verbose_name='Draft')),
|
||||
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='quiz.Category', verbose_name='Category')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Quiz',
|
||||
'verbose_name_plural': 'Quizzes',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Sitting',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('question_order', models.CharField(max_length=1024, validators=[django.core.validators.RegexValidator(re.compile('^\\d+(?:\\,\\d+)*\\Z', 32), code='invalid', message='Enter only digits separated by commas.')], verbose_name='Question Order')),
|
||||
('question_list', models.CharField(max_length=1024, validators=[django.core.validators.RegexValidator(re.compile('^\\d+(?:\\,\\d+)*\\Z', 32), code='invalid', message='Enter only digits separated by commas.')], verbose_name='Question List')),
|
||||
('incorrect_questions', models.CharField(blank=True, max_length=1024, validators=[django.core.validators.RegexValidator(re.compile('^\\d+(?:\\,\\d+)*\\Z', 32), code='invalid', message='Enter only digits separated by commas.')], verbose_name='Incorrect questions')),
|
||||
('current_score', models.IntegerField(verbose_name='Current Score')),
|
||||
('complete', models.BooleanField(default=False, verbose_name='Complete')),
|
||||
('user_answers', models.TextField(blank=True, default='{}', verbose_name='User Answers')),
|
||||
('start', models.DateTimeField(auto_now_add=True, verbose_name='Start')),
|
||||
('end', models.DateTimeField(blank=True, null=True, verbose_name='End')),
|
||||
('quiz', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quiz.Quiz', verbose_name='Quiz')),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')),
|
||||
],
|
||||
options={
|
||||
'permissions': (('view_sittings', 'Can see completed exams.'),),
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='SubCategory',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('sub_category', models.CharField(blank=True, max_length=250, null=True, verbose_name='Sub-Category')),
|
||||
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='quiz.Category', verbose_name='Category')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Sub-Category',
|
||||
'verbose_name_plural': 'Sub-Categories',
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='question',
|
||||
name='quiz',
|
||||
field=models.ManyToManyField(blank=True, to='quiz.Quiz', verbose_name='Quiz'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='question',
|
||||
name='sub_category',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='quiz.SubCategory', verbose_name='Sub-Category'),
|
||||
),
|
||||
]
|
||||
40
quiz-app/quiz/migrations/0002_auto_20210417_1052.py
Normal file
40
quiz-app/quiz/migrations/0002_auto_20210417_1052.py
Normal file
@ -0,0 +1,40 @@
|
||||
# Generated by Django 2.2.9 on 2021-04-17 10:52
|
||||
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
import re
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('quiz', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='progress',
|
||||
name='score',
|
||||
field=models.CharField(max_length=1024, validators=[django.core.validators.RegexValidator(re.compile('^\\d+(?:,\\d+)*\\Z'), code='invalid', message='Enter only digits separated by commas.')], verbose_name='Score'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='quiz',
|
||||
name='draft',
|
||||
field=models.BooleanField(blank=True, default=False, help_text='If yes, the quiz is not displayed in the quiz list and can only be taken by users who can edit quizzes.', verbose_name='Draft'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='sitting',
|
||||
name='incorrect_questions',
|
||||
field=models.CharField(blank=True, max_length=1024, validators=[django.core.validators.RegexValidator(re.compile('^\\d+(?:,\\d+)*\\Z'), code='invalid', message='Enter only digits separated by commas.')], verbose_name='Incorrect questions'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='sitting',
|
||||
name='question_list',
|
||||
field=models.CharField(max_length=1024, validators=[django.core.validators.RegexValidator(re.compile('^\\d+(?:,\\d+)*\\Z'), code='invalid', message='Enter only digits separated by commas.')], verbose_name='Question List'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='sitting',
|
||||
name='question_order',
|
||||
field=models.CharField(max_length=1024, validators=[django.core.validators.RegexValidator(re.compile('^\\d+(?:,\\d+)*\\Z'), code='invalid', message='Enter only digits separated by commas.')], verbose_name='Question Order'),
|
||||
),
|
||||
]
|
||||
21
quiz-app/quiz/migrations/0003_progress_user_answers.py
Normal file
21
quiz-app/quiz/migrations/0003_progress_user_answers.py
Normal file
@ -0,0 +1,21 @@
|
||||
# Generated by Django 3.2 on 2021-05-11 13:59
|
||||
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
import re
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('quiz', '0002_auto_20210417_1052'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='progress',
|
||||
name='user_answers',
|
||||
field=models.CharField(default=0, max_length=1024, validators=[django.core.validators.RegexValidator(re.compile('^\\d+(?:,\\d+)*\\Z'), code='invalid', message='Enter only digits separated by commas.')], verbose_name='User_answers'),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
||||
@ -0,0 +1,17 @@
|
||||
# Generated by Django 3.2 on 2021-05-11 14:02
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('quiz', '0003_progress_user_answers'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='progress',
|
||||
name='user_answers',
|
||||
),
|
||||
]
|
||||
20
quiz-app/quiz/migrations/0005_progress_user_answers.py
Normal file
20
quiz-app/quiz/migrations/0005_progress_user_answers.py
Normal file
@ -0,0 +1,20 @@
|
||||
# Generated by Django 3.2 on 2021-05-11 14:33
|
||||
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
import re
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('quiz', '0004_remove_progress_user_answers'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='progress',
|
||||
name='user_answers',
|
||||
field=models.CharField(default='{}', max_length=1024, validators=[django.core.validators.RegexValidator(re.compile('^\\d+(?:,\\d+)*\\Z'), code='invalid', message='Enter only digits separated by commas.')], verbose_name='User_answers'),
|
||||
),
|
||||
]
|
||||
20
quiz-app/quiz/migrations/0006_alter_progress_user_answers.py
Normal file
20
quiz-app/quiz/migrations/0006_alter_progress_user_answers.py
Normal file
@ -0,0 +1,20 @@
|
||||
# Generated by Django 3.2 on 2021-05-11 14:42
|
||||
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
import re
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('quiz', '0005_progress_user_answers'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='progress',
|
||||
name='user_answers',
|
||||
field=models.CharField(default='{}', max_length=1024, validators=[django.core.validators.RegexValidator(re.compile('^\\d+(?:,\\d+)*\\Z'), code='invalid', message='Enter only digits separated by commas.')], verbose_name='Réponses'),
|
||||
),
|
||||
]
|
||||
@ -0,0 +1,17 @@
|
||||
# Generated by Django 3.2 on 2021-05-23 18:31
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('quiz', '0006_alter_progress_user_answers'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='progress',
|
||||
name='user_answers',
|
||||
),
|
||||
]
|
||||
0
quiz-app/quiz/migrations/__init__.py
Normal file
0
quiz-app/quiz/migrations/__init__.py
Normal file
Binary file not shown.
BIN
quiz-app/quiz/migrations/__pycache__/0001_initial.cpython-37.pyc
Normal file
BIN
quiz-app/quiz/migrations/__pycache__/0001_initial.cpython-37.pyc
Normal file
Binary file not shown.
BIN
quiz-app/quiz/migrations/__pycache__/0001_initial.cpython-38.pyc
Normal file
BIN
quiz-app/quiz/migrations/__pycache__/0001_initial.cpython-38.pyc
Normal file
Binary file not shown.
BIN
quiz-app/quiz/migrations/__pycache__/0001_initial.cpython-39.pyc
Normal file
BIN
quiz-app/quiz/migrations/__pycache__/0001_initial.cpython-39.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user