mirror of
https://github.com/MarijnDoeve/TijdVoorDeTest.git
synced 2026-03-07 13:14:20 +01:00
Compare commits
2 Commits
cd5946bda8
...
0be29190e6
| Author | SHA1 | Date | |
|---|---|---|---|
|
0be29190e6
|
|||
| c6f9b57c60 |
2
Justfile
2
Justfile
@@ -23,7 +23,7 @@ fixtures:
|
|||||||
docker compose exec php bin/console doctrine:fixtures:load --purge-with-truncate --no-interaction
|
docker compose exec php bin/console doctrine:fixtures:load --purge-with-truncate --no-interaction
|
||||||
|
|
||||||
translations:
|
translations:
|
||||||
docker compose exec php bin/console translation:extract --domain=messages --force --format=yaml --sort=asc --clean nl
|
docker compose exec php bin/console translation:extract --force --format=xliff --sort=asc --clean nl
|
||||||
|
|
||||||
fix-cs:
|
fix-cs:
|
||||||
docker compose exec php vendor/bin/php-cs-fixer fix
|
docker compose exec php vendor/bin/php-cs-fixer fix
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import 'bootstrap/dist/css/bootstrap.min.css'
|
import 'bootstrap/dist/css/bootstrap.min.css'
|
||||||
import * as bootstrap from 'bootstrap'
|
import * as bootstrap from 'bootstrap'
|
||||||
|
|
||||||
import './styles/app.scss';
|
import './styles/backoffice.scss';
|
||||||
|
|||||||
BIN
assets/img/green.png
Normal file
BIN
assets/img/green.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 479 KiB |
BIN
assets/img/red.png
Normal file
BIN
assets/img/red.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 438 KiB |
@@ -1,4 +1,24 @@
|
|||||||
import 'bootstrap/dist/css/bootstrap.min.css'
|
import 'bootstrap/dist/css/bootstrap.min.css'
|
||||||
import * as bootstrap from 'bootstrap'
|
import * as bootstrap from 'bootstrap'
|
||||||
|
|
||||||
import './styles/quiz.scss'
|
import './styles/app.scss'
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
|
// Check if we're on the elimination candidate screen
|
||||||
|
const eliminationScreen = document.querySelector('.elimination-screen');
|
||||||
|
if (eliminationScreen) {
|
||||||
|
// Add event listener for any keypress
|
||||||
|
document.addEventListener('keydown', function (event) {
|
||||||
|
// Get the current URL
|
||||||
|
const currentUrl = window.location.href;
|
||||||
|
// Extract the elimination ID from the URL
|
||||||
|
const urlParts = currentUrl.split('/');
|
||||||
|
// Remove the candidate hash (last part of the URL)
|
||||||
|
urlParts.pop();
|
||||||
|
// Construct the URL to the main elimination page
|
||||||
|
const redirectUrl = urlParts.join('/');
|
||||||
|
// Redirect to the main elimination page
|
||||||
|
window.location.href = redirectUrl;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
html, body {
|
||||||
|
height: 100%;
|
||||||
|
background-image: url("../img/background.png");
|
||||||
|
background-position: center center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-color: black;
|
||||||
|
color: white;
|
||||||
|
|
||||||
|
display: grid;
|
||||||
|
align-items: center;
|
||||||
|
justify-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.elimination-screen {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
object-fit: contain;
|
||||||
|
background-color: white;
|
||||||
|
z-index: 1000;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|||||||
0
assets/styles/backoffice.scss
Normal file
0
assets/styles/backoffice.scss
Normal file
@@ -1,12 +0,0 @@
|
|||||||
html, body {
|
|
||||||
height: 100%;
|
|
||||||
background-image: url("../img/background.png");
|
|
||||||
background-position: center center;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-color: black;
|
|
||||||
color: white;
|
|
||||||
|
|
||||||
display: grid;
|
|
||||||
align-items: center;
|
|
||||||
justify-self: center;
|
|
||||||
}
|
|
||||||
@@ -9,6 +9,7 @@ services:
|
|||||||
- ./frankenphp/Caddyfile:/etc/caddy/Caddyfile:ro
|
- ./frankenphp/Caddyfile:/etc/caddy/Caddyfile:ro
|
||||||
- ./frankenphp/conf.d/20-app.dev.ini:/usr/local/etc/php/app.conf.d/20-app.dev.ini:ro
|
- ./frankenphp/conf.d/20-app.dev.ini:/usr/local/etc/php/app.conf.d/20-app.dev.ini:ro
|
||||||
- ./frankenphp/data:/data
|
- ./frankenphp/data:/data
|
||||||
|
- sass:/app/var/sass
|
||||||
environment:
|
environment:
|
||||||
MERCURE_EXTRA_DIRECTIVES: demo
|
MERCURE_EXTRA_DIRECTIVES: demo
|
||||||
# See https://xdebug.org/docs/all_settings#mode
|
# See https://xdebug.org/docs/all_settings#mode
|
||||||
@@ -34,7 +35,8 @@ services:
|
|||||||
sass:
|
sass:
|
||||||
image: ${IMAGES_PREFIX:-}app-php
|
image: ${IMAGES_PREFIX:-}app-php
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/app
|
- ./:/app:ro
|
||||||
|
- sass:/app/var/sass
|
||||||
entrypoint: ''
|
entrypoint: ''
|
||||||
depends_on:
|
depends_on:
|
||||||
- php
|
- php
|
||||||
@@ -42,6 +44,7 @@ services:
|
|||||||
- bin/console
|
- bin/console
|
||||||
- sass:build
|
- sass:build
|
||||||
- --watch
|
- --watch
|
||||||
|
- -v
|
||||||
|
|
||||||
###> symfony/mercure-bundle ###
|
###> symfony/mercure-bundle ###
|
||||||
###< symfony/mercure-bundle ###
|
###< symfony/mercure-bundle ###
|
||||||
@@ -62,3 +65,6 @@ services:
|
|||||||
MP_SMTP_AUTH_ACCEPT_ANY: 1
|
MP_SMTP_AUTH_ACCEPT_ANY: 1
|
||||||
MP_SMTP_AUTH_ALLOW_INSECURE: 1
|
MP_SMTP_AUTH_ALLOW_INSECURE: 1
|
||||||
###< symfony/mailer ###
|
###< symfony/mailer ###
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sass:
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class ClaimSeasonCommand extends Command
|
|||||||
protected function configure(): void
|
protected function configure(): void
|
||||||
{
|
{
|
||||||
$this
|
$this
|
||||||
->addArgument('email', InputArgument::REQUIRED, 'The email of the user to make admin')
|
->addArgument('email', InputArgument::REQUIRED, 'The email of the user thats claims the season')
|
||||||
->addArgument('season', InputArgument::REQUIRED, 'The season to claim')
|
->addArgument('season', InputArgument::REQUIRED, 'The season to claim')
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace App\Controller;
|
namespace App\Controller\Backoffice;
|
||||||
|
|
||||||
use App\Entity\Elimination;
|
use App\Entity\Elimination;
|
||||||
use App\Entity\Quiz;
|
use App\Entity\Quiz;
|
||||||
@@ -31,6 +31,9 @@ final class PrepareEliminationController extends AbstractController
|
|||||||
$elimination->updateFromInputBag($request->request);
|
$elimination->updateFromInputBag($request->request);
|
||||||
$em->flush();
|
$em->flush();
|
||||||
|
|
||||||
|
if (true === $request->request->getBoolean('start')) {
|
||||||
|
return $this->redirectToRoute('app_elimination', ['elimination' => $elimination->getId()]);
|
||||||
|
}
|
||||||
$this->addFlash('success', 'Elimination updated');
|
$this->addFlash('success', 'Elimination updated');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5,12 +5,14 @@ declare(strict_types=1);
|
|||||||
namespace App\Controller;
|
namespace App\Controller;
|
||||||
|
|
||||||
use App\Entity\Candidate;
|
use App\Entity\Candidate;
|
||||||
use App\Entity\Season;
|
use App\Entity\Elimination;
|
||||||
use App\Enum\FlashType;
|
use App\Enum\FlashType;
|
||||||
|
use App\Form\EliminationEnterNameType;
|
||||||
use App\Helpers\Base64;
|
use App\Helpers\Base64;
|
||||||
use App\Repository\CandidateRepository;
|
use App\Repository\CandidateRepository;
|
||||||
use App\Security\Voter\SeasonVoter;
|
use App\Security\Voter\SeasonVoter;
|
||||||
use Symfony\Bridge\Doctrine\Attribute\MapEntity;
|
use Symfony\Bridge\Doctrine\Attribute\MapEntity;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\HttpKernel\Attribute\AsController;
|
use Symfony\Component\HttpKernel\Attribute\AsController;
|
||||||
use Symfony\Component\Routing\Attribute\Route;
|
use Symfony\Component\Routing\Attribute\Route;
|
||||||
@@ -25,30 +27,50 @@ final class EliminationController extends AbstractController
|
|||||||
{
|
{
|
||||||
public function __construct(private readonly TranslatorInterface $translator) {}
|
public function __construct(private readonly TranslatorInterface $translator) {}
|
||||||
|
|
||||||
#[Route('/elimination/{seasonCode}', name: 'app_elimination')]
|
#[Route('/elimination/{elimination}', name: 'app_elimination')]
|
||||||
#[IsGranted(SeasonVoter::ELIMINATION, 'season')]
|
#[IsGranted(SeasonVoter::ELIMINATION, 'elimination')]
|
||||||
public function index(#[MapEntity] Season $season): Response
|
public function index(#[MapEntity] Elimination $elimination, Request $request): Response
|
||||||
{
|
{
|
||||||
return $this->render('elimination/index.html.twig', [
|
$form = $this->createForm(EliminationEnterNameType::class);
|
||||||
|
|
||||||
|
$form->handleRequest($request);
|
||||||
|
|
||||||
|
if ($form->isSubmitted() && $form->isValid()) {
|
||||||
|
$name = $form->get('name')->getData();
|
||||||
|
|
||||||
|
return $this->redirectToRoute('app_elimination_candidate', ['elimination' => $elimination->getId(), 'candidateHash' => Base64::base64UrlEncode($name)]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->render('quiz/elimination/index.html.twig', [
|
||||||
|
'form' => $form,
|
||||||
'controller_name' => 'EliminationController',
|
'controller_name' => 'EliminationController',
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/elimination/{seasonCode}/{candidateHash}', name: 'app_elimination_cadidate')]
|
#[Route('/elimination/{elimination}/{candidateHash}', name: 'app_elimination_candidate')]
|
||||||
#[IsGranted(SeasonVoter::ELIMINATION, 'season')]
|
#[IsGranted(SeasonVoter::ELIMINATION, 'elimination')]
|
||||||
public function candidateScreen(Season $season, string $candidateHash, CandidateRepository $candidateRepository): Response
|
public function candidateScreen(Elimination $elimination, string $candidateHash, CandidateRepository $candidateRepository): Response
|
||||||
{
|
{
|
||||||
$candidate = $candidateRepository->getCandidateByHash($season, $candidateHash);
|
$candidate = $candidateRepository->getCandidateByHash($elimination->getQuiz()->getSeason(), $candidateHash);
|
||||||
if (!$candidate instanceof Candidate) {
|
if (!$candidate instanceof Candidate) {
|
||||||
$this->addFlash(FlashType::Warning,
|
$this->addFlash(FlashType::Warning,
|
||||||
t('Cound not find candidate with name %name%', ['%name%' => Base64::base64UrlDecode($candidateHash)])->trans($this->translator)
|
t('Cound not find candidate with name %name%', ['%name%' => Base64::base64UrlDecode($candidateHash)])->trans($this->translator)
|
||||||
);
|
);
|
||||||
throw new \InvalidArgumentException('Candidate not found');
|
|
||||||
|
return $this->redirectToRoute('app_elimination', ['elimination' => $elimination->getId()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->render('elimination/candidate.html.twig', [
|
$screenColour = $elimination->getScreenColour($candidate->getName());
|
||||||
'season' => $season,
|
|
||||||
|
if (null === $screenColour) {
|
||||||
|
$this->addFlash(FlashType::Warning, $this->translator->trans('Cound not find candidate with name %name% in elimination.', ['%name%' => $candidate->getName()]));
|
||||||
|
|
||||||
|
return $this->redirectToRoute('app_elimination', ['elimination' => $elimination->getId()]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->render('quiz/elimination/candidate.html.twig', [
|
||||||
'candidate' => $candidate,
|
'candidate' => $candidate,
|
||||||
|
'colour' => $screenColour,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,6 +76,11 @@ class Elimination
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getScreenColour(?string $name): ?string
|
||||||
|
{
|
||||||
|
return $this->data[$name] ?? null;
|
||||||
|
}
|
||||||
|
|
||||||
#[ORM\PrePersist]
|
#[ORM\PrePersist]
|
||||||
public function setCreatedAtValue(): void
|
public function setCreatedAtValue(): void
|
||||||
{
|
{
|
||||||
|
|||||||
30
src/Form/EliminationEnterNameType.php
Normal file
30
src/Form/EliminationEnterNameType.php
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Form;
|
||||||
|
|
||||||
|
use Symfony\Component\Form\AbstractType;
|
||||||
|
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||||
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
|
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||||
|
|
||||||
|
/** @extends AbstractType<null> */
|
||||||
|
class EliminationEnterNameType extends AbstractType
|
||||||
|
{
|
||||||
|
public function __construct(private readonly TranslatorInterface $translator) {}
|
||||||
|
|
||||||
|
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||||
|
{
|
||||||
|
$builder
|
||||||
|
->add('name', TextType::class,
|
||||||
|
[
|
||||||
|
'required' => true,
|
||||||
|
'label' => $this->translator->trans('Enter name'),
|
||||||
|
'translation_domain' => false,
|
||||||
|
'attr' => ['autofocus' => true],
|
||||||
|
],
|
||||||
|
)
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -22,6 +22,7 @@ class EnterNameType extends AbstractType
|
|||||||
'required' => true,
|
'required' => true,
|
||||||
'label' => $this->translator->trans('Enter your name'),
|
'label' => $this->translator->trans('Enter your name'),
|
||||||
'translation_domain' => false,
|
'translation_domain' => false,
|
||||||
|
'attr' => ['autofocus' => true],
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -19,10 +19,13 @@ class SelectSeasonType extends AbstractType
|
|||||||
public function buildForm(FormBuilderInterface $builder, array $options): void
|
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('season_code', TextType::class,
|
->add('season_code', TextType::class, [
|
||||||
['required' => true, 'constraints' => new Regex(pattern: "/^[A-Za-z\d]{5}$/"), 'label' => $this->translator->trans('Season Code'), 'translation_domain' => false]
|
'required' => true,
|
||||||
)
|
'constraints' => new Regex(pattern: "/^[A-Za-z\d]{5}$/"),
|
||||||
;
|
'label' => $this->translator->trans('Season Code'),
|
||||||
|
'translation_domain' => false,
|
||||||
|
'attr' => ['autofocus' => true],
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver): void
|
public function configureOptions(OptionsResolver $resolver): void
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Security\Voter;
|
namespace App\Security\Voter;
|
||||||
|
|
||||||
|
use App\Entity\Elimination;
|
||||||
use App\Entity\Season;
|
use App\Entity\Season;
|
||||||
use App\Entity\User;
|
use App\Entity\User;
|
||||||
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
|
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
|
||||||
@@ -21,10 +22,10 @@ final class SeasonVoter extends Voter
|
|||||||
protected function supports(string $attribute, mixed $subject): bool
|
protected function supports(string $attribute, mixed $subject): bool
|
||||||
{
|
{
|
||||||
return \in_array($attribute, [self::EDIT, self::DELETE, self::ELIMINATION], true)
|
return \in_array($attribute, [self::EDIT, self::DELETE, self::ELIMINATION], true)
|
||||||
&& $subject instanceof Season;
|
&& ($subject instanceof Season || $subject instanceof Elimination);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @param Season $subject */
|
/** @param Season|Elimination $subject */
|
||||||
protected function voteOnAttribute(string $attribute, mixed $subject, TokenInterface $token): bool
|
protected function voteOnAttribute(string $attribute, mixed $subject, TokenInterface $token): bool
|
||||||
{
|
{
|
||||||
$user = $token->getUser();
|
$user = $token->getUser();
|
||||||
@@ -36,8 +37,10 @@ final class SeasonVoter extends Voter
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$season = $subject instanceof Season ? $subject : $subject->getQuiz()->getSeason();
|
||||||
|
|
||||||
return match ($attribute) {
|
return match ($attribute) {
|
||||||
self::EDIT, self::DELETE, self::ELIMINATION => $subject->isOwner($user),
|
self::EDIT, self::DELETE, self::ELIMINATION => $season->isOwner($user),
|
||||||
default => false,
|
default => false,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,16 +24,18 @@
|
|||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<select id="colour-{{ candidate|lower }}" class="form-select"
|
<select id="colour-{{ candidate|lower }}" class="form-select"
|
||||||
name="colour-{{ candidate|lower }}">
|
name="colour-{{ candidate|lower }}">
|
||||||
<option value="green"{% if colour == 'green' %} selected{% endif %}>Green</option>
|
<option
|
||||||
<option value="red"{% if colour == 'red' %} selected{% endif %}>Red</option>
|
value="green"{% if colour == 'green' %} selected{% endif %}>{{ 'Green'|trans }}</option>
|
||||||
|
<option
|
||||||
|
value="red"{% if colour == 'red' %} selected{% endif %}>{{ 'Red'|trans }}</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<div class="btn-group py-2">
|
<div class="btn-group py-2">
|
||||||
<button type="submit" class="btn btn-primary" name="start" value="1">{{ 'Save'|trans }}</button>
|
<button type="submit" class="btn btn-primary" name="start" value="0">{{ 'Save'|trans }}</button>
|
||||||
<button type="submit" class="btn btn-success" name="start"
|
<button type="submit" class="btn btn-success" name="start"
|
||||||
value="0">{{ 'Save and start elimination'|trans }}</button>
|
value="1">{{ 'Save and start elimination'|trans }}</button>
|
||||||
<a href="{{ path('app_backoffice_quiz', {seasonCode: elimination.quiz.season.seasonCode, quiz: elimination.quiz.id}) }}"
|
<a href="{{ path('app_backoffice_quiz', {seasonCode: elimination.quiz.season.seasonCode, quiz: elimination.quiz.id}) }}"
|
||||||
class="btn btn-secondary">{{ 'Back'|trans }}</a>
|
class="btn btn-secondary">{{ 'Back'|trans }}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
<h4 class="py-2">{{ 'Score'|trans }}</h4>
|
<h4 class="py-2">{{ 'Score'|trans }}</h4>
|
||||||
<div class="btn-toolbar" role="toolbar">
|
<div class="btn-toolbar" role="toolbar">
|
||||||
<div class="btn-group btn-group-lg me-2">
|
<div class="btn-group btn-group-lg me-2">
|
||||||
<a class="btn btn-primary">{{ 'Start Elimination'|trans }}</a>
|
{# <a class="btn btn-primary">{{ 'Start Elimination'|trans }}</a> #}
|
||||||
<a href="{{ path('app_prepare_elimination', {seasonCode: season.seasonCode, quiz: quiz.id}) }}"
|
<a href="{{ path('app_prepare_elimination', {seasonCode: season.seasonCode, quiz: quiz.id}) }}"
|
||||||
class="btn btn-secondary">{{ 'Prepare Custom Elimination'|trans }}</a>
|
class="btn btn-secondary">{{ 'Prepare Custom Elimination'|trans }}</a>
|
||||||
{%~ if not quiz.eliminations.empty %}
|
{%~ if not quiz.eliminations.empty %}
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
{% extends 'quiz/base.html.twig' %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
|
<img src="{{ asset("img/#{colour}.png") }}" class="elimination-screen" id="{{ colour }}"
|
||||||
|
alt="Screen with colour {{ colour }}">
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -1,20 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
{% extends 'quiz/base.html.twig' %}
|
||||||
|
|
||||||
<title>Hello EliminationController!</title>
|
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<style>
|
{{ form(form) }}
|
||||||
.example-wrapper { margin: 1em auto; max-width: 800px; width: 95%; font: 18px/1.5 sans-serif; }
|
{% endblock body %}
|
||||||
.example-wrapper code { background: #F5F5F5; padding: 2px 6px; }
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<div class="example-wrapper">
|
|
||||||
<h1>Hello {{ controller_name }}! ✅</h1>
|
|
||||||
|
|
||||||
This friendly message is coming from:
|
|
||||||
<ul>
|
|
||||||
<li>Your controller at <code>/app/src/Controller/EliminationController.php</code></li>
|
|
||||||
<li>Your template at <code>/app/templates/elimination/index.html.twig</code></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{% extends 'quiz/base.html.twig' %}
|
{% extends 'quiz/base.html.twig' %}
|
||||||
{% block body %}
|
{% block body %}
|
||||||
{{ season.name }}
|
|
||||||
{{ form(form) }}
|
{{ form(form) }}
|
||||||
{% endblock body %}
|
{% endblock body %}
|
||||||
|
|||||||
190
translations/EasyAdminBundle.nl.xliff
Normal file
190
translations/EasyAdminBundle.nl.xliff
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||||
|
<file source-language="nl" target-language="nl" datatype="plaintext" original="file.ext">
|
||||||
|
<header>
|
||||||
|
<tool tool-id="symfony" tool-name="Symfony"/>
|
||||||
|
</header>
|
||||||
|
<body>
|
||||||
|
<trans-unit id="ecFC4Sv" resname="action.add_new_item">
|
||||||
|
<source>action.add_new_item</source>
|
||||||
|
<target>Voeg een item toe</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="wPEuKmL" resname="action.cancel">
|
||||||
|
<source>action.cancel</source>
|
||||||
|
<target>Annuleren</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="Yy_rDAt" resname="action.choose_file">
|
||||||
|
<source>action.choose_file</source>
|
||||||
|
<target>Bestand kiezen</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="PO_UHtX" resname="action.close">
|
||||||
|
<source>action.close</source>
|
||||||
|
<target>Sluiten</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="Cd4XVNn" resname="action.delete">
|
||||||
|
<source>action.delete</source>
|
||||||
|
<target>Verwijderen</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="FI_qUZL" resname="action.entity_actions">
|
||||||
|
<source>action.entity_actions</source>
|
||||||
|
<target>Acties</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="b5M9sxm" resname="action.remove_item">
|
||||||
|
<source>action.remove_item</source>
|
||||||
|
<target>Verwijder dit item</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="tKPecTw" resname="action.search">
|
||||||
|
<source>action.search</source>
|
||||||
|
<target>Zoeken</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="_EDCsYO" resname="autocomplete.loading-more-results">
|
||||||
|
<source>autocomplete.loading-more-results</source>
|
||||||
|
<target>Meer resultaten laden…</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="Mi9fRIF" resname="autocomplete.no-more-results">
|
||||||
|
<source>autocomplete.no-more-results</source>
|
||||||
|
<target>Niet meer resultaten gevonden…</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="dc37768" resname="autocomplete.no-results-found">
|
||||||
|
<source>autocomplete.no-results-found</source>
|
||||||
|
<target>Geen resultaten gevonden…</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="1QzA7HJ" resname="batch_action_modal.action">
|
||||||
|
<source>batch_action_modal.action</source>
|
||||||
|
<target>Verdergaan</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="HzIn9A_" resname="batch_action_modal.content">
|
||||||
|
<source>batch_action_modal.content</source>
|
||||||
|
<target>Je kan deze actie niet ongedaan maken.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="IvOrJqD" resname="batch_action_modal.title">
|
||||||
|
<source>batch_action_modal.title</source>
|
||||||
|
<target>Wil je alle geselecteerde items bewerken?</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="GTjPPy9" resname="datagrid.hidden_results">
|
||||||
|
<source>datagrid.hidden_results</source>
|
||||||
|
<target>Sommige resultaten konden niet worden weergegeven, toegang geweigerd.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="CO0E0pU" resname="datagrid.no_results">
|
||||||
|
<source>datagrid.no_results</source>
|
||||||
|
<target>Geen resultaten gevonden.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="O8SUipq" resname="delete_modal.content">
|
||||||
|
<source>delete_modal.content</source>
|
||||||
|
<target>Deze actie kan niet ongedaan worden gemaakt.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id=".DbNkeY" resname="delete_modal.title">
|
||||||
|
<source>delete_modal.title</source>
|
||||||
|
<target>Weet je zeker dat je dit item wilt verwijderen?</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="MJQ4k4D" resname="field.code_editor.view_code">
|
||||||
|
<source>field.code_editor.view_code</source>
|
||||||
|
<target>Bekijk code</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="11gUR_y" resname="field.text_editor.view_content">
|
||||||
|
<source>field.text_editor.view_content</source>
|
||||||
|
<target>Bekijk inhoud</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="3Mq5DeM" resname="files">
|
||||||
|
<source>files</source>
|
||||||
|
<target>__files</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="F7_Hyy1" resname="filter.button.apply">
|
||||||
|
<source>filter.button.apply</source>
|
||||||
|
<target>Toepassen</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="GapHtez" resname="filter.button.clear">
|
||||||
|
<source>filter.button.clear</source>
|
||||||
|
<target>Wis filters</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="VH1tHkH" resname="filter.title">
|
||||||
|
<source>filter.title</source>
|
||||||
|
<target>Filters</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="3VqDiBO" resname="form.tab.error_badge_title">
|
||||||
|
<source>form.tab.error_badge_title</source>
|
||||||
|
<target>Een ongeldige input|%count% ongeldige inputs</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="S2q7CDj" resname="label.empty">
|
||||||
|
<source>label.empty</source>
|
||||||
|
<target>Leeg</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="0EqWTob" resname="label.inaccessible">
|
||||||
|
<source>label.inaccessible</source>
|
||||||
|
<target>Niet toegankelijk</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="OLmlP81" resname="label.inaccessible.explanation">
|
||||||
|
<source>label.inaccessible.explanation</source>
|
||||||
|
<target>Getter bestaat niet voor dit veld of de eigenschap is niet public</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="fAVSIIs" resname="label.null">
|
||||||
|
<source>label.null</source>
|
||||||
|
<target>Niets</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="IsDUuMi" resname="login_page.forgot_password">
|
||||||
|
<source>login_page.forgot_password</source>
|
||||||
|
<target>Wachtwoord vergeten?</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="uxJWiMn" resname="login_page.password">
|
||||||
|
<source>login_page.password</source>
|
||||||
|
<target>Wachtwoord</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="GNqK_5o" resname="login_page.remember_me">
|
||||||
|
<source>login_page.remember_me</source>
|
||||||
|
<target>Onthoud mij</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="eiGmhDt" resname="login_page.sign_in">
|
||||||
|
<source>login_page.sign_in</source>
|
||||||
|
<target>Inloggen</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="iFP0IOu" resname="login_page.username">
|
||||||
|
<source>login_page.username</source>
|
||||||
|
<target>Gebruikersnaam</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="nRSzgzm" resname="page_title.exception">
|
||||||
|
<source>page_title.exception</source>
|
||||||
|
<target>Fout|Fouten</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="SaZbUiU" resname="paginator.next">
|
||||||
|
<source>paginator.next</source>
|
||||||
|
<target>Volgende</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="ANpWHHW" resname="paginator.previous">
|
||||||
|
<source>paginator.previous</source>
|
||||||
|
<target>Vorige</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="ZsypGha" resname="paginator.results">
|
||||||
|
<source>paginator.results</source>
|
||||||
|
<target><![CDATA[{0} Geen resultaten|{1} <strong>1</strong> resultaat|]1,Inf] <strong>%count%</strong> resultaten]]></target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="8ViDiWx" resname="settings.appearance.auto">
|
||||||
|
<source>settings.appearance.auto</source>
|
||||||
|
<target>Automatisch</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="h3pBR4_" resname="settings.appearance.dark">
|
||||||
|
<source>settings.appearance.dark</source>
|
||||||
|
<target>Donker</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="JBbrEd7" resname="settings.appearance.label">
|
||||||
|
<source>settings.appearance.label</source>
|
||||||
|
<target>Weergave</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="vxKYCsn" resname="settings.appearance.light">
|
||||||
|
<source>settings.appearance.light</source>
|
||||||
|
<target>Licht</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="E5cimFA" resname="settings.locale">
|
||||||
|
<source>settings.locale</source>
|
||||||
|
<target>Taal</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id=".eqAPKs" resname="user.anonymous">
|
||||||
|
<source>user.anonymous</source>
|
||||||
|
<target>Anonieme gebruiker</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="kgatv6N" resname="user.logged_in_as">
|
||||||
|
<source>user.logged_in_as</source>
|
||||||
|
<target>Aangemeld als</target>
|
||||||
|
</trans-unit>
|
||||||
|
</body>
|
||||||
|
</file>
|
||||||
|
</xliff>
|
||||||
14
translations/VichUploaderBundle+intl-icu.nl.xliff
Normal file
14
translations/VichUploaderBundle+intl-icu.nl.xliff
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||||
|
<file source-language="nl" target-language="nl" datatype="plaintext" original="file.ext">
|
||||||
|
<header>
|
||||||
|
<tool tool-id="symfony" tool-name="Symfony"/>
|
||||||
|
</header>
|
||||||
|
<body>
|
||||||
|
<trans-unit id="EgM1sAf" resname="download">
|
||||||
|
<source>download</source>
|
||||||
|
<target>download</target>
|
||||||
|
</trans-unit>
|
||||||
|
</body>
|
||||||
|
</file>
|
||||||
|
</xliff>
|
||||||
270
translations/messages+intl-icu.nl.xliff
Normal file
270
translations/messages+intl-icu.nl.xliff
Normal file
@@ -0,0 +1,270 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||||
|
<file source-language="nl" target-language="nl" datatype="plaintext" original="file.ext">
|
||||||
|
<header>
|
||||||
|
<tool tool-id="symfony" tool-name="Symfony"/>
|
||||||
|
</header>
|
||||||
|
<body>
|
||||||
|
<trans-unit id="uyMngrK" resname="Active Quiz">
|
||||||
|
<source>Active Quiz</source>
|
||||||
|
<target>Actieve test</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="g.hyGgB" resname="Add">
|
||||||
|
<source>Add</source>
|
||||||
|
<target>Toevoegen</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="pv1legV" resname="Add Candidate">
|
||||||
|
<source>Add Candidate</source>
|
||||||
|
<target>Voeg kandidaat toe</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="7aI6qex" resname="Add Candidates">
|
||||||
|
<source>Add Candidates</source>
|
||||||
|
<target>Voeg kandidaten toe</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="ehB6pAw" resname="Add a quiz to %name%">
|
||||||
|
<source>Add a quiz to %name%</source>
|
||||||
|
<target>Voeg een test toe aan %name%</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="qiXD5ve" resname="All Seasons">
|
||||||
|
<source>All Seasons</source>
|
||||||
|
<target>Alle seizoenen</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="PaW5ihf" resname="Already have an account? Log in">
|
||||||
|
<source>Already have an account? Log in</source>
|
||||||
|
<target>Heb je al een account? Log in</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id=".QFPbFe" resname="Back">
|
||||||
|
<source>Back</source>
|
||||||
|
<target>Terug</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="T6TIfj7" resname="Candidate">
|
||||||
|
<source>Candidate</source>
|
||||||
|
<target>Kandidaat</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="TiTLBGW" resname="Candidate not found">
|
||||||
|
<source>Candidate not found</source>
|
||||||
|
<target>Kandidaat niet gevonden</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="WJJE4q_" resname="Candidates">
|
||||||
|
<source>Candidates</source>
|
||||||
|
<target>Kandidaten</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="sFpB4C2" resname="Correct Answers">
|
||||||
|
<source>Correct Answers</source>
|
||||||
|
<target>Goede antwoorden</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="YrMVdGf" resname="Corrections">
|
||||||
|
<source>Corrections</source>
|
||||||
|
<target>Jokers</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="Lu7u8U2" resname="Cound not find candidate with name %name%">
|
||||||
|
<source>Cound not find candidate with name %name%</source>
|
||||||
|
<target>Kon kandidaat met naam %name% niet vinden</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="YQUiB4T" resname="Cound not find candidate with name %name% in elimination.">
|
||||||
|
<source>Cound not find candidate with name %name% in elimination.</source>
|
||||||
|
<target>Kon geen kandidaat vinden met de naam %name% in de eliminatie</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="0DvmToq" resname="Create a season">
|
||||||
|
<source>Create a season</source>
|
||||||
|
<target>Maak een seizoen aan</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="Wsms_zc" resname="Create an account">
|
||||||
|
<source>Create an account</source>
|
||||||
|
<target>Maak een account aan</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="w9AyAnn" resname="Deactivate Quiz">
|
||||||
|
<source>Deactivate Quiz</source>
|
||||||
|
<target>Deactiveer test</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="R9yHzHv" resname="Download Template">
|
||||||
|
<source>Download Template</source>
|
||||||
|
<target>Download sjabloon</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="JZi_tm0" resname="Email">
|
||||||
|
<source>Email</source>
|
||||||
|
<target>E-mail</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="mSo9TGC" resname="Enter name">
|
||||||
|
<source>Enter name</source>
|
||||||
|
<target>Voer een naam in</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="RnI7jJT" resname="Enter your name">
|
||||||
|
<source>Enter your name</source>
|
||||||
|
<target>Voor je naam in</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="OGiIhMH" resname="Green">
|
||||||
|
<source>Green</source>
|
||||||
|
<target>Groen</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="k1X7w12" resname="Invalid season code">
|
||||||
|
<source>Invalid season code</source>
|
||||||
|
<target>Ongeldige seizoencode</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="q0FeoCr" resname="Load Prepared Elimination">
|
||||||
|
<source>Load Prepared Elimination</source>
|
||||||
|
<target>Laad voorbereide eliminatie</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="JKl2Twv" resname="Logout">
|
||||||
|
<source>Logout</source>
|
||||||
|
<target>Uitloggen</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="NCItilE" resname="Make active">
|
||||||
|
<source>Make active</source>
|
||||||
|
<target>Maak actief</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="WP2lXKC" resname="Manage">
|
||||||
|
<source>Manage</source>
|
||||||
|
<target>Beheren</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="LZzySF." resname="Manage Quiz">
|
||||||
|
<source>Manage Quiz</source>
|
||||||
|
<target>Beheer test</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="wbMeKOh" resname="Name">
|
||||||
|
<source>Name</source>
|
||||||
|
<target>Naam</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="nOHriCl" resname="No active quiz">
|
||||||
|
<source>No active quiz</source>
|
||||||
|
<target>Geen actieve test</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="swW4qFE" resname="No results">
|
||||||
|
<source>No results</source>
|
||||||
|
<target>Geen resultaten</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="k7Eqnjt" resname="Number of dropouts:">
|
||||||
|
<source>Number of dropouts:</source>
|
||||||
|
<target>Aantal afvallers:</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="PywqOf4" resname="Owner(s)">
|
||||||
|
<source>Owner(s)</source>
|
||||||
|
<target>Eigena(a)r(en)</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="GqmFSHc" resname="Password">
|
||||||
|
<source>Password</source>
|
||||||
|
<target>Wachtwoord</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="6EclFME" resname="Please Confirm your Email">
|
||||||
|
<source>Please Confirm your Email</source>
|
||||||
|
<target>messages</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="lSX_PHJ" resname="Please sign in">
|
||||||
|
<source>Please sign in</source>
|
||||||
|
<target>Log in aub</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="ruFGaU." resname="Please upload a valid XLSX file">
|
||||||
|
<source>Please upload a valid XLSX file</source>
|
||||||
|
<target>Upload een geldig XLSX-bestand</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="YG9Osau" resname="Prepare Custom Elimination">
|
||||||
|
<source>Prepare Custom Elimination</source>
|
||||||
|
<target>Bereid aangepaste eliminatie voor</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="Rx5irUP" resname="Questions">
|
||||||
|
<source>Questions</source>
|
||||||
|
<target>Vragen</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="0tv0gq." resname="Quiz">
|
||||||
|
<source>Quiz</source>
|
||||||
|
<target>Test</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="4BzxOP3" resname="Quiz (xlsx)">
|
||||||
|
<source>Quiz (xlsx)</source>
|
||||||
|
<target>Test (xlsx)</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="nU5BEhV" resname="Quiz Added!">
|
||||||
|
<source>Quiz Added!</source>
|
||||||
|
<target>Test toegevoegd!</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="LbVe.2c" resname="Quiz completed">
|
||||||
|
<source>Quiz completed</source>
|
||||||
|
<target>Test voltooid</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="frxoIkW" resname="Quiz name">
|
||||||
|
<source>Quiz name</source>
|
||||||
|
<target>Testnaam</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="bggVfH9" resname="Quizzes">
|
||||||
|
<source>Quizzes</source>
|
||||||
|
<target>Tests</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="P1HcfAu" resname="Red">
|
||||||
|
<source>Red</source>
|
||||||
|
<target>Rood</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="fGfBzt6" resname="Register">
|
||||||
|
<source>Register</source>
|
||||||
|
<target>Registreren</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="WevL4T_" resname="Remember me">
|
||||||
|
<source>Remember me</source>
|
||||||
|
<target>Onthoud mij</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="Z9CSKpk" resname="Repeat Password">
|
||||||
|
<source>Repeat Password</source>
|
||||||
|
<target>Herhaal wachtwoord</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="z9OKodR" resname="Save">
|
||||||
|
<source>Save</source>
|
||||||
|
<target>Opslaan</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="8HUcmWU" resname="Save and start elimination">
|
||||||
|
<source>Save and start elimination</source>
|
||||||
|
<target>Opslaan en start eliminatie</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="uRWqG15" resname="Score">
|
||||||
|
<source>Score</source>
|
||||||
|
<target>Score</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="yH9A3q0" resname="Season">
|
||||||
|
<source>Season</source>
|
||||||
|
<target>Seizoen</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="yj8.c2D" resname="Season Code">
|
||||||
|
<source>Season Code</source>
|
||||||
|
<target>Seizoencode</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="1ULw_4S" resname="Season Name">
|
||||||
|
<source>Season Name</source>
|
||||||
|
<target>Seizoennaam</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="kc_J96C" resname="Seasons">
|
||||||
|
<source>Seasons</source>
|
||||||
|
<target>Seizoenen</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="pNIxNSX" resname="Sign in">
|
||||||
|
<source>Sign in</source>
|
||||||
|
<target>Log in</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="2QO7aYC" resname="Start Elimination">
|
||||||
|
<source>Start Elimination</source>
|
||||||
|
<target>Start eliminatie</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="9m8DOBg" resname="Submit">
|
||||||
|
<source>Submit</source>
|
||||||
|
<target>Verstuur</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="_z4el3Z" resname="The password fields must match.">
|
||||||
|
<source>The password fields must match.</source>
|
||||||
|
<target>De wachtwoorden moeten overeen komen.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="HuzRgeN" resname="There are no answers for this question">
|
||||||
|
<source>There are no answers for this question</source>
|
||||||
|
<target>Er zijn geen antwoorden voor deze vraag</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="Dptvysv" resname="Time">
|
||||||
|
<source>Time</source>
|
||||||
|
<target>Tijd</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="vVQAP9A" resname="Your Seasons">
|
||||||
|
<source>Your Seasons</source>
|
||||||
|
<target>Jouw seizoenen</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="m80cBv0" resname="Your email address has been verified.">
|
||||||
|
<source>Your email address has been verified.</source>
|
||||||
|
<target>Je e-mailadres is geverifieerd.</target>
|
||||||
|
</trans-unit>
|
||||||
|
</body>
|
||||||
|
</file>
|
||||||
|
</xliff>
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
'Active Quiz': 'Actieve test'
|
|
||||||
Add: Toevoegen
|
|
||||||
'Add Candidate': 'Voeg kandidaat toe'
|
|
||||||
'Add Candidates': 'Voeg kandidaten toe'
|
|
||||||
'Add a quiz to %name%': 'Voeg een test toe aan %name%'
|
|
||||||
'All Seasons': 'Alle seizoenen'
|
|
||||||
'Already have an account? Log in': 'Heb je al een account? Log in'
|
|
||||||
Back: Terug
|
|
||||||
Candidate: Kandidaat
|
|
||||||
'Candidate not found': 'Kandidaat niet gevonden'
|
|
||||||
Candidates: Kandidaten
|
|
||||||
'Correct Answers': 'Goede antwoorden'
|
|
||||||
Corrections: Jokers
|
|
||||||
'Cound not find candidate with name %name%': 'Kon kandidaat met naam %name% niet vinden'
|
|
||||||
'Create a season': 'Maak een seizoen aan'
|
|
||||||
'Create an account': 'Maak een account aan'
|
|
||||||
'Deactivate Quiz': 'Deactiveer test'
|
|
||||||
'Download Template': 'Download sjabloon'
|
|
||||||
Email: E-mail
|
|
||||||
'Enter your name': 'Voor je naam in'
|
|
||||||
'Invalid season code': 'Ongeldige seizoencode'
|
|
||||||
'Load Prepared Elimination': 'Laad voorbereide eliminatie'
|
|
||||||
Logout: Uitloggen
|
|
||||||
'Make active': 'Maak actief'
|
|
||||||
Manage: Beheren
|
|
||||||
'Manage Quiz': 'Beheer test'
|
|
||||||
Name: Naam
|
|
||||||
'No active quiz': 'Geen actieve test'
|
|
||||||
'No results': 'Geen resultaten'
|
|
||||||
'Number of dropouts:': 'Aantal afvallers:'
|
|
||||||
Owner(s): Eigena(a)r(en)
|
|
||||||
Password: Wachtwoord
|
|
||||||
'Please Confirm your Email': messages
|
|
||||||
'Please sign in': 'Log in aub'
|
|
||||||
'Please upload a valid XLSX file': 'Upload een geldig XLSX-bestand'
|
|
||||||
'Prepare Custom Elimination': 'Bereid aangepaste eliminatie voor'
|
|
||||||
Questions: Vragen
|
|
||||||
Quiz: Test
|
|
||||||
'Quiz (xlsx)': 'Test (xlsx)'
|
|
||||||
'Quiz Added!': 'Test toegevoegd!'
|
|
||||||
'Quiz completed': 'Test voltooid'
|
|
||||||
'Quiz name': Testnaam
|
|
||||||
Quizzes: Tests
|
|
||||||
Register: Registreren
|
|
||||||
'Remember me': 'Onthoud mij'
|
|
||||||
'Repeat Password': 'Herhaal wachtwoord'
|
|
||||||
Save: Opslaan
|
|
||||||
'Save and start elimination': 'Opslaan en start eliminatie'
|
|
||||||
Score: Score
|
|
||||||
Season: Seizoen
|
|
||||||
'Season Code': Seizoencode
|
|
||||||
'Season Name': Seizoennaam
|
|
||||||
Seasons: Seizoenen
|
|
||||||
'Sign in': 'Log in'
|
|
||||||
'Start Elimination': 'Start eliminatie'
|
|
||||||
Submit: Verstuur
|
|
||||||
'The password fields must match.': 'De wachtwoorden moeten overeen komen.'
|
|
||||||
'There are no answers for this question': 'Er zijn geen antwoorden voor deze vraag'
|
|
||||||
Time: Tijd
|
|
||||||
'Your Seasons': 'Jouw seizoenen'
|
|
||||||
'Your email address has been verified.': 'Je e-mailadres is geverifieerd.'
|
|
||||||
26
translations/validators.nl.xliff
Normal file
26
translations/validators.nl.xliff
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||||
|
<file source-language="nl" target-language="nl" datatype="plaintext" original="file.ext">
|
||||||
|
<header>
|
||||||
|
<tool tool-id="symfony" tool-name="Symfony"/>
|
||||||
|
</header>
|
||||||
|
<body>
|
||||||
|
<trans-unit id="B9r0Hn5" resname="Error">
|
||||||
|
<source>Error</source>
|
||||||
|
<target>Fout</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="B7yoMOR" resname="Please enter a password">
|
||||||
|
<source>Please enter a password</source>
|
||||||
|
<target>Voer je wachtwoord in</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="vsM4tSv" resname="There is already an account with this email">
|
||||||
|
<source>There is already an account with this email</source>
|
||||||
|
<target>Er is al een account met dit e-mailadres</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="_OmnKuR" resname="Your password should be at least {{ limit }} characters">
|
||||||
|
<source>Your password should be at least {{ limit }} characters</source>
|
||||||
|
<target>Je wachtwoord moet minimaal {{ limit }} karakters lang zijn</target>
|
||||||
|
</trans-unit>
|
||||||
|
</body>
|
||||||
|
</file>
|
||||||
|
</xliff>
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
Error: Fout
|
|
||||||
'Please enter a password': 'Voer je wachtwoord in'
|
|
||||||
'There is already an account with this email': 'Er is al een account met dit e-mailadres'
|
|
||||||
'Your password should be at least {{ limit }} characters': 'Je wachtwoord moet minimaal {{ limit }} karakters lang zijn'
|
|
||||||
Reference in New Issue
Block a user