diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml index 5fb74f9..f31c825 100644 --- a/config/packages/framework.yaml +++ b/config/packages/framework.yaml @@ -1,21 +1,31 @@ # see https://symfony.com/doc/current/reference/configuration/framework.html framework: - secret: '%env(APP_SECRET)%' - #csrf_protection: true + secret: "%env(APP_SECRET)%" + #csrf_protection: true - assets: - base_path: '%env(ASSETS_BASE_PATH)%' - trusted_proxies: '%env(TRUSTED_PROXIES)%' - trusted_headers: ['x-forwarded-for', 'x-forwarded-host', 'x-forwarded-proto', 'x-forwarded-port', 'x-forwarded-prefix'] + assets: + base_path: "%env(ASSETS_BASE_PATH)%" + trusted_proxies: "%env(TRUSTED_PROXIES)%" + trusted_headers: + [ + "x-forwarded-for", + "x-forwarded-host", + "x-forwarded-proto", + "x-forwarded-port", + "x-forwarded-prefix", + ] - # Note that the session will be started ONLY if you read or write from it. - session: true + # Note that the session will be started ONLY if you read or write from it. + session: true - #esi: true - #fragments: true + #esi: true + #fragments: true + + set_locale_from_accept_language: true + set_content_language_from_locale: true when@test: - framework: - test: true - session: - storage_factory_id: session.storage.factory.mock_file + framework: + test: true + session: + storage_factory_id: session.storage.factory.mock_file diff --git a/src/Controller/SettingController.php b/src/Controller/SettingController.php new file mode 100644 index 0000000..6518da9 --- /dev/null +++ b/src/Controller/SettingController.php @@ -0,0 +1,20 @@ +setLocale($locale); + $request->getSession()->set('_locale', $locale); + return $this->redirectToRoute('app_posts'); + } +} diff --git a/src/EventListener/LocaleListener.php b/src/EventListener/LocaleListener.php new file mode 100644 index 0000000..28962cc --- /dev/null +++ b/src/EventListener/LocaleListener.php @@ -0,0 +1,17 @@ +getRequest(); + $request->setLocale($request->getSession()->get('_locale', 'en')); + } +} diff --git a/templates/_pagination.html.twig b/templates/_pagination.html.twig index 1c4cc35..9c9fdae 100644 --- a/templates/_pagination.html.twig +++ b/templates/_pagination.html.twig @@ -2,7 +2,7 @@ diff --git a/templates/base.html.twig b/templates/base.html.twig index cd8b143..f640fc5 100644 --- a/templates/base.html.twig +++ b/templates/base.html.twig @@ -2,7 +2,7 @@ - {% block title %}Welcome to Herbarium!{% endblock %} + {% block title %}{{ 'welcome_to_herbarium'|trans }}{% endblock %} {% block stylesheets %} @@ -17,9 +17,9 @@
Herbarium {% if app.user %} - {{ app.user.email }} - Log out + {{ app.user.email }} - {{ 'log_out'|trans }} {% else %} - Sign in + {{ 'sign_in'|trans }} {% endif %}
diff --git a/templates/post/_delete_form.html.twig b/templates/post/_delete_form.html.twig index 4070032..ce11f27 100644 --- a/templates/post/_delete_form.html.twig +++ b/templates/post/_delete_form.html.twig @@ -1,4 +1,4 @@ -
+
diff --git a/templates/post/_form.html.twig b/templates/post/_form.html.twig index bf20b98..50638da 100644 --- a/templates/post/_form.html.twig +++ b/templates/post/_form.html.twig @@ -1,4 +1,5 @@ {{ form_start(form) }} {{ form_widget(form) }} - + {{ form_end(form) }} + diff --git a/templates/post/edit.html.twig b/templates/post/edit.html.twig index 1903ace..7897924 100644 --- a/templates/post/edit.html.twig +++ b/templates/post/edit.html.twig @@ -3,11 +3,11 @@ {% block title %}Edit Post{% endblock %} {% block body %} -

Edit Post

+

{{ 'edit_post'|trans }}

- {{ include('post/_form.html.twig', {'button_label': 'Update'}) }} + {{ include('post/_form.html.twig', {'button_label': 'update'|trans}) }} - Back to list + {{ 'back_to_list'|trans }} {{ include('post/_delete_form.html.twig') }} {% endblock %} diff --git a/templates/post/index.html.twig b/templates/post/index.html.twig index caab461..5ea65a2 100644 --- a/templates/post/index.html.twig +++ b/templates/post/index.html.twig @@ -1,12 +1,12 @@ {% extends 'base.html.twig' %} -{% block title %}Posts{% endblock %} +{% block title %}{{ 'posts'|trans }}{% endblock %} {% block body %} {% for post in posts.iterator %}
-
{{ post.species ? post.species.vernacularName : 'Post' }}
+
{{ post.species ? post.species.vernacularName : 'post_undefined'|trans }}
{{ post.foundDate | date("d/m/Y \\à H \\h") }}

{{ post.latitude }}, {{ post.longitude }}, {{ post.altitude }}m

{{ post.commentary }}

diff --git a/templates/post/new.html.twig b/templates/post/new.html.twig index 756c2a7..ccd46d6 100644 --- a/templates/post/new.html.twig +++ b/templates/post/new.html.twig @@ -1,11 +1,11 @@ {% extends 'base.html.twig' %} -{% block title %}New Post{% endblock %} +{% block title %}{{ 'new_post'|trans }}{% endblock %} {% block body %} -

Create new Post

+

{{ 'create_new_post'|trans }}

{{ include('post/_form.html.twig') }} - Back to list + {{ 'back_to_list'|trans }} {% endblock %} diff --git a/templates/post/show.html.twig b/templates/post/show.html.twig index dddf731..35eefb4 100644 --- a/templates/post/show.html.twig +++ b/templates/post/show.html.twig @@ -1,9 +1,9 @@ {% extends 'base.html.twig' %} -{% block title %}Post{% endblock %} +{% block title %}{{ 'post'|trans }}{% endblock %} {% block body %} -

Post

+

{{ 'post'|trans }}

@@ -12,11 +12,11 @@ - + - + @@ -32,15 +32,15 @@ - +
{{ post.id }}
FoundDate{{ 'found_date'|trans }} {{ post.foundDate ? post.foundDate|date('Y-m-d H:i:s') : '' }}
PublicationDate{{ 'publication_date'|trans }} {{ post.publicationDate ? post.publicationDate|date('Y-m-d H:i:s') : '' }}
{{ post.altitude }}
Commentary{{ 'commentary'|trans }} {{ post.commentary }}
- Back to list + {{ 'back_to_list'|trans }} - Edit + {{ 'edit'|trans }} {{ include('post/_delete_form.html.twig') }} {% endblock %} diff --git a/templates/post/table.html.twig b/templates/post/table.html.twig index 6760321..89af356 100644 --- a/templates/post/table.html.twig +++ b/templates/post/table.html.twig @@ -1,20 +1,20 @@ {% extends 'base.html.twig' %} -{% block title %}Post index{% endblock %} +{% block title %}{{ 'post_index'|trans }}{% endblock %} {% block body %} -

Post index

+

{{ 'post_index'|trans }}

- - + + - + @@ -29,17 +29,17 @@ {% else %} - + {% endfor %}
IdFoundDatePublicationDate{{ 'found_date'|trans }}{{ 'publication_date'|trans }} Latitude Longitude AltitudeCommentary{{ 'commentary'|trans }} Actions
{{ post.altitude }} {{ post.commentary }} - Show - Edit + {{ 'show'|trans }} + {{ 'edit'|trans }}
no records found{{ 'no_records_found'|trans }}
- Create new + {{ 'create_new'|trans }} {% endblock %} diff --git a/templates/registration/register.html.twig b/templates/registration/register.html.twig index 4bbc321..0aa84e8 100644 --- a/templates/registration/register.html.twig +++ b/templates/registration/register.html.twig @@ -1,9 +1,9 @@ {% extends 'base.html.twig' %} -{% block title %}Register{% endblock %} +{% block title %}{{ 'register'|trans }}{% endblock %} {% block body %} -

Register

+

{{ 'register'|trans }}

{{ form_errors(registrationForm) }} @@ -14,6 +14,6 @@ }) }} {{ form_row(registrationForm.agreeTerms) }} - + {{ form_end(registrationForm) }} {% endblock %} diff --git a/templates/security/login.html.twig b/templates/security/login.html.twig index d24cfff..6db2e51 100644 --- a/templates/security/login.html.twig +++ b/templates/security/login.html.twig @@ -1,6 +1,6 @@ {% extends 'base.html.twig' %} -{% block title %}Log in!{% endblock %} +{% block title %}{{ 'log_in'|trans }}{% endblock %} {% block body %}
@@ -10,17 +10,17 @@ {% if app.user %}
- You are logged in as {{ app.user.userIdentifier }}, Logout + You are logged in as {{ app.user.userIdentifier }}, {{ 'logout'|trans }}
{% endif %} -

Please sign in

+

{{ 'sign_in'|trans }}

- +
@@ -34,16 +34,16 @@
#} - Sign up + {{ 'sign_up'|trans }}
{% endblock %} diff --git a/templates/species/_delete_form.html.twig b/templates/species/_delete_form.html.twig index bc97a0a..e195c78 100644 --- a/templates/species/_delete_form.html.twig +++ b/templates/species/_delete_form.html.twig @@ -1,4 +1,4 @@ -
+ - +
diff --git a/templates/species/_form.html.twig b/templates/species/_form.html.twig index bf20b98..09241c4 100644 --- a/templates/species/_form.html.twig +++ b/templates/species/_form.html.twig @@ -1,4 +1,4 @@ {{ form_start(form) }} {{ form_widget(form) }} - + {{ form_end(form) }} diff --git a/templates/species/edit.html.twig b/templates/species/edit.html.twig index 1e1fce4..816cf07 100644 --- a/templates/species/edit.html.twig +++ b/templates/species/edit.html.twig @@ -1,13 +1,13 @@ {% extends 'base.html.twig' %} -{% block title %}Edit Species{% endblock %} +{% block title %}{{ 'edit_species'|trans }}{% endblock %} {% block body %} -

Edit Species

+

{{ 'edit_species'|trans }}

- {{ include('species/_form.html.twig', {'button_label': 'Update'}) }} + {{ include('species/_form.html.twig', {'button_label': 'update'|trans}) }} - Back to list + {{ 'back_to_list'|trans }} {{ include('species/_delete_form.html.twig') }} {% endblock %} diff --git a/templates/species/index.html.twig b/templates/species/index.html.twig index 5396bb1..421b653 100644 --- a/templates/species/index.html.twig +++ b/templates/species/index.html.twig @@ -1,6 +1,6 @@ {% extends 'base.html.twig' %} -{% block title %}Species{% endblock %} +{% block title %}{{ 'species'|trans }}{% endblock %} {% block body %}
-

Liste des espèces

+

{{ 'list_of_species'|trans }}

{% for specie in species %} @@ -19,12 +19,12 @@
- 🔬 Scientific name : {{ specie.scientificName }}
- 📍 Region : {{ specie.region }} + 🔬 {{ 'scientific_name'|trans }} : {{ specie.scientificName }}
+ 📍 {{ 'region'|trans }} : {{ specie.region }}

{% endfor %}
- Create new + {{ 'create_new'|trans }}
{% endblock %} diff --git a/templates/species/new.html.twig b/templates/species/new.html.twig index 043749c..9b20266 100644 --- a/templates/species/new.html.twig +++ b/templates/species/new.html.twig @@ -3,9 +3,9 @@ {% block title %}New Species{% endblock %} {% block body %} -

Create new Species

+

{{ 'create_new_species'|trans }}

{{ include('species/_form.html.twig') }} - Back to list + {{ 'back_to_list'|trans }} {% endblock %} diff --git a/templates/species/show.html.twig b/templates/species/show.html.twig index 9db26cd..c3dd4e1 100644 --- a/templates/species/show.html.twig +++ b/templates/species/show.html.twig @@ -1,16 +1,16 @@ {% extends 'base.html.twig' %} -{% block title %}Species{% endblock %} +{% block title %}{{ 'species'|trans }}{% endblock %} {% block body %}

{{ species.vernacularName }}

- 🔬 Scientific name : {{ species.scientificName }}
- 📍 Region : {{ species.region }} + 🔬 {{ 'scientific_name'|trans }} : {{ species.scientificName }}
+ 📍 {{ 'region'|trans }} : {{ species.region }}

-

Posts :

+

{{ 'posts'|trans }} :

{% for post in species.posts %}
@@ -18,18 +18,18 @@

{{ post.publicationDate | date }}

-
📍Geolocation
+
📍{{ 'geolocation'|trans }}
{{ post.longitude }} - {{ post.latitude }}
-
💬Commentary
+
💬{{ 'commentary'|trans }}
{{ post.getCommentary }}
{% endfor %} - Back to list + {{ 'back_to_list'|trans }} - Edit + {{ 'edit'|trans }} {{ include('species/_delete_form.html.twig') }}
diff --git a/templates/species/table.html.twig b/templates/species/table.html.twig index fa3a85d..5f931dd 100644 --- a/templates/species/table.html.twig +++ b/templates/species/table.html.twig @@ -1,18 +1,18 @@ {% extends 'base.html.twig' %} -{% block title %}Species index{% endblock %} +{% block title %}{{ 'species_index'|trans }}{% endblock %} {% block body %} -

Species index

+

{{ 'species_index'|trans }}

- - + + - + @@ -23,17 +23,17 @@ {% else %} - + {% endfor %}
IdScientific_nameVernacular_name{{ 'scientific_name'|trans }}{{ 'vernacular_name'|trans }} RegionactionsActions
{{ species.vernacularName }} {{ species.region }} - Show - Edit + {{ 'show'|trans }} + {{ 'edit'|trans }}
no records found{{ 'no_records_found'|trans }}
- Create new + {{ 'create_new'|trans }} {% endblock %} diff --git a/translations/VerifyEmailBundle.en.xlf b/translations/VerifyEmailBundle.en.xlf new file mode 100644 index 0000000..0522bde --- /dev/null +++ b/translations/VerifyEmailBundle.en.xlf @@ -0,0 +1,42 @@ + + + +
+ +
+ + + %count% year|%count% years + %count% year|%count% years + + + %count% month|%count% months + %count% month|%count% months + + + %count% day|%count% days + %count% day|%count% days + + + %count% hour|%count% hours + %count% hour|%count% hours + + + %count% minute|%count% minutes + %count% minute|%count% minutes + + + The link to verify your email has expired. Please request a new link. + The link to verify your email has expired. Please request a new link. + + + The link to verify your email is invalid. Please request a new link. + The link to verify your email is invalid. Please request a new link. + + + The link to verify your email appears to be for a different account or email. Please request a new link. + The link to verify your email appears to be for a different account or email. Please request a new link. + + +
+
diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf new file mode 100644 index 0000000..3923ab6 --- /dev/null +++ b/translations/messages.en.xlf @@ -0,0 +1,154 @@ + + + +
+ +
+ + + delete + Delete + + + delete_confirm + Are you sure you want to delete ? + + + log_out + Log out + + + sign_in + Sign in + + + welcome_to_herbarium + Welcome to Herbarium + + + new_post + New post + + + create_new_post + Create new post + + + back_to_list + Back to list + + + post + Post + + + found_date + Found date + + + publication_date + Publication date + + + commentary + Commentary + + + edit + Edit + + + post_index + Post index + + + show + Shpw + + + no_records_found + No records found + + + create_new + Create new + + + register + Register + + + log_in + Log in + + + logout + Log out + + + password + Password + + + sign_up + Sign up + + + species + Species + + + list_of_species + List of species + + + scientific_name + Scientific name + + + region + Region + + + Create new scpecies + __create_new_species + + + posts + Posts + + + geolocation + Geolocation + + + species_index + Species index + + + vernacular_name + Vernacular name + + + delete_item_confirmation + Are you sure you want to delete this item + + + previous + Previous + + + next + Next + + + post_undefined + Post undefined + + + edit_species + Edit species + + +
+
diff --git a/translations/messages.fr.xlf b/translations/messages.fr.xlf index 41e881b..277c558 100644 --- a/translations/messages.fr.xlf +++ b/translations/messages.fr.xlf @@ -7,7 +7,147 @@ delete - __delete + Supprimer + + + delete_confirm + Êtes-vous sûr de vouloir supprimer ? + + + log_out + Se déconnecter + + + sign_in + Se connecter + + + welcome_to_herbarium + Bienvenue sur Herbarium + + + new_post + Nouvelle publication + + + create_new_post + Création d'une nouvelle publication + + + back_to_list + Retour à la liste + + + post + Publication + + + found_date + Date de découverte + + + publication_date + Date de publication + + + commentary + Commentaire + + + edit + Éditer + + + post_index + Index des publications + + + show + Montrer + + + no_records_found + Pas d'enregistrements trouvés + + + create_new + Création d'un nouvel enregistrement + + + register + Créer un compte + + + log_in + Se connecter + + + logout + Se déconnecter + + + password + Mot de passe + + + sign_up + S'inscrire + + + species + Espèces + + + list_of_species + Liste des espèces + + + scientific_name + Nom scientifique + + + region + Région + + + create_new_species + Créer une nouvelle espèce + + + posts + Posts + + + geolocation + Géolocalisation + + + species_index + Index des espèces + + + vernacular_name + Nom vernaculaire + + + delete_item_confirmation + Êtes-vous sûr de vouloir supprimer ? + + + previous + Retour + + + next + Suivant + + + post_undefined + Publication non définie + + + edit_species + Éditer l'espèce diff --git a/translations/security.en.xlf b/translations/security.en.xlf new file mode 100644 index 0000000..cde7936 --- /dev/null +++ b/translations/security.en.xlf @@ -0,0 +1,82 @@ + + + +
+ +
+ + + An authentication exception occurred. + An authentication exception occurred. + + + Authentication credentials could not be found. + Authentication credentials could not be found. + + + Authentication request could not be processed due to a system problem. + Authentication request could not be processed due to a system problem. + + + Invalid credentials. + Invalid credentials. + + + Cookie has already been used by someone else. + Cookie has already been used by someone else. + + + Not privileged to request the resource. + Not privileged to request the resource. + + + Invalid CSRF token. + Invalid CSRF token. + + + No authentication provider found to support the authentication token. + No authentication provider found to support the authentication token. + + + No session available, it either timed out or cookies are not enabled. + No session available, it either timed out or cookies are not enabled. + + + No token could be found. + No token could be found. + + + Username could not be found. + Username could not be found. + + + Account has expired. + Account has expired. + + + Credentials have expired. + Credentials have expired. + + + Account is disabled. + Account is disabled. + + + Account is locked. + Account is locked. + + + Too many failed login attempts, please try again later. + Too many failed login attempts, please try again later. + + + Invalid or expired login link. + Invalid or expired login link. + + + Too many failed login attempts, please try again in %minutes% minute. + Too many failed login attempts, please try again in %minutes% minute. + + +
+
diff --git a/translations/validators.en.xlf b/translations/validators.en.xlf new file mode 100644 index 0000000..94bed3b --- /dev/null +++ b/translations/validators.en.xlf @@ -0,0 +1,598 @@ + + + +
+ +
+ + + This value should be false. + This value should be false. + + + This value should be true. + This value should be true. + + + This value should be of type {{ type }}. + This value should be of type {{ type }}. + + + This value should be blank. + This value should be blank. + + + The value you selected is not a valid choice. + The value you selected is not a valid choice. + + + You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. + You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices. + + + You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. + You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices. + + + One or more of the given values is invalid. + One or more of the given values is invalid. + + + This field was not expected. + This field was not expected. + + + This field is missing. + This field is missing. + + + This value is not a valid date. + This value is not a valid date. + + + This value is not a valid datetime. + This value is not a valid datetime. + + + This value is not a valid email address. + This value is not a valid email address. + + + The file could not be found. + The file could not be found. + + + The file is not readable. + The file is not readable. + + + The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. + The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}. + + + The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. + The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}. + + + This value should be {{ limit }} or less. + This value should be {{ limit }} or less. + + + This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. + This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less. + + + This value should be {{ limit }} or more. + This value should be {{ limit }} or more. + + + This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. + This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more. + + + This value should not be blank. + This value should not be blank. + + + This value should not be null. + This value should not be null. + + + This value should be null. + This value should be null. + + + This value is not valid. + This value is not valid. + + + This value is not a valid time. + This value is not a valid time. + + + This value is not a valid URL. + This value is not a valid URL. + + + The two values should be equal. + The two values should be equal. + + + The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. + The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}. + + + The file is too large. + The file is too large. + + + The file could not be uploaded. + The file could not be uploaded. + + + This value should be a valid number. + This value should be a valid number. + + + This file is not a valid image. + This file is not a valid image. + + + This is not a valid IP address. + This value is not a valid IP address. + + + This value is not a valid language. + This value is not a valid language. + + + This value is not a valid locale. + This value is not a valid locale. + + + This value is not a valid country. + This value is not a valid country. + + + This value is already used. + This value is already used. + + + The size of the image could not be detected. + The size of the image could not be detected. + + + The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. + The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px. + + + The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. + The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px. + + + The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. + The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px. + + + The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. + The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px. + + + This value should be the user's current password. + This value should be the user's current password. + + + This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. + This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters. + + + The file was only partially uploaded. + The file was only partially uploaded. + + + No file was uploaded. + No file was uploaded. + + + No temporary folder was configured in php.ini. + No temporary folder was configured in php.ini, or the configured folder does not exist. + + + Cannot write temporary file to disk. + Cannot write temporary file to disk. + + + A PHP extension caused the upload to fail. + A PHP extension caused the upload to fail. + + + This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. + This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more. + + + This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. + This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less. + + + This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. + This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements. + + + Invalid card number. + Invalid card number. + + + Unsupported card type or invalid card number. + Unsupported card type or invalid card number. + + + This is not a valid International Bank Account Number (IBAN). + This value is not a valid International Bank Account Number (IBAN). + + + This value is not a valid ISBN-10. + This value is not a valid ISBN-10. + + + This value is not a valid ISBN-13. + This value is not a valid ISBN-13. + + + This value is neither a valid ISBN-10 nor a valid ISBN-13. + This value is neither a valid ISBN-10 nor a valid ISBN-13. + + + This value is not a valid ISSN. + This value is not a valid ISSN. + + + This value is not a valid currency. + This value is not a valid currency. + + + This value should be equal to {{ compared_value }}. + This value should be equal to {{ compared_value }}. + + + This value should be greater than {{ compared_value }}. + This value should be greater than {{ compared_value }}. + + + This value should be greater than or equal to {{ compared_value }}. + This value should be greater than or equal to {{ compared_value }}. + + + This value should be identical to {{ compared_value_type }} {{ compared_value }}. + This value should be identical to {{ compared_value_type }} {{ compared_value }}. + + + This value should be less than {{ compared_value }}. + This value should be less than {{ compared_value }}. + + + This value should be less than or equal to {{ compared_value }}. + This value should be less than or equal to {{ compared_value }}. + + + This value should not be equal to {{ compared_value }}. + This value should not be equal to {{ compared_value }}. + + + This value should not be identical to {{ compared_value_type }} {{ compared_value }}. + This value should not be identical to {{ compared_value_type }} {{ compared_value }}. + + + The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. + The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}. + + + The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. + The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}. + + + The image is square ({{ width }}x{{ height }}px). Square images are not allowed. + The image is square ({{ width }}x{{ height }}px). Square images are not allowed. + + + The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. + The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed. + + + The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. + The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed. + + + An empty file is not allowed. + An empty file is not allowed. + + + The host could not be resolved. + The host could not be resolved. + + + This value does not match the expected {{ charset }} charset. + This value does not match the expected {{ charset }} charset. + + + This is not a valid Business Identifier Code (BIC). + This value is not a valid Business Identifier Code (BIC). + + + Error + Error + + + This is not a valid UUID. + This value is not a valid UUID. + + + This value should be a multiple of {{ compared_value }}. + This value should be a multiple of {{ compared_value }}. + + + This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. + This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}. + + + This value should be valid JSON. + This value should be valid JSON. + + + This collection should contain only unique elements. + This collection should contain only unique elements. + + + This value should be positive. + This value should be positive. + + + This value should be either positive or zero. + This value should be either positive or zero. + + + This value should be negative. + This value should be negative. + + + This value should be either negative or zero. + This value should be either negative or zero. + + + This value is not a valid timezone. + This value is not a valid timezone. + + + This password has been leaked in a data breach, it must not be used. Please use another password. + This password has been leaked in a data breach, it must not be used. Please use another password. + + + This value should be between {{ min }} and {{ max }}. + This value should be between {{ min }} and {{ max }}. + + + This value is not a valid hostname. + This value is not a valid hostname. + + + The number of elements in this collection should be a multiple of {{ compared_value }}. + The number of elements in this collection should be a multiple of {{ compared_value }}. + + + This value should satisfy at least one of the following constraints: + This value should satisfy at least one of the following constraints: + + + Each element of this collection should satisfy its own set of constraints. + Each element of this collection should satisfy its own set of constraints. + + + This value is not a valid International Securities Identification Number (ISIN). + This value is not a valid International Securities Identification Number (ISIN). + + + This value should be a valid expression. + This value should be a valid expression. + + + This value is not a valid CSS color. + This value is not a valid CSS color. + + + This value is not a valid CIDR notation. + This value is not a valid CIDR notation. + + + The value of the netmask should be between {{ min }} and {{ max }}. + The value of the netmask should be between {{ min }} and {{ max }}. + + + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less. + + + The password strength is too low. Please use a stronger password. + The password strength is too low. Please use a stronger password. + + + This value contains characters that are not allowed by the current restriction-level. + This value contains characters that are not allowed by the current restriction-level. + + + Using invisible characters is not allowed. + Using invisible characters is not allowed. + + + Mixing numbers from different scripts is not allowed. + Mixing numbers from different scripts is not allowed. + + + Using hidden overlay characters is not allowed. + Using hidden overlay characters is not allowed. + + + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}. + + + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}. + + + This value is not a valid MAC address. + This value is not a valid MAC address. + + + This URL is missing a top-level domain. + This URL is missing a top-level domain. + + + This form should not contain extra fields. + This form should not contain extra fields. + + + The uploaded file was too large. Please try to upload a smaller file. + The uploaded file was too large. Please try to upload a smaller file. + + + The CSRF token is invalid. Please try to resubmit the form. + The CSRF token is invalid. Please try to resubmit the form. + + + This value is not a valid HTML5 color. + This value is not a valid HTML5 color. + + + Please enter a valid birthdate. + Please enter a valid birthdate. + + + The selected choice is invalid. + The selected choice is invalid. + + + The collection is invalid. + The collection is invalid. + + + Please select a valid color. + Please select a valid color. + + + Please select a valid country. + Please select a valid country. + + + Please select a valid currency. + Please select a valid currency. + + + Please choose a valid date interval. + Please choose a valid date interval. + + + Please enter a valid date and time. + Please enter a valid date and time. + + + Please enter a valid date. + Please enter a valid date. + + + Please select a valid file. + Please select a valid file. + + + The hidden field is invalid. + The hidden field is invalid. + + + Please enter an integer. + Please enter an integer. + + + Please select a valid language. + Please select a valid language. + + + Please select a valid locale. + Please select a valid locale. + + + Please enter a valid money amount. + Please enter a valid money amount. + + + Please enter a number. + Please enter a number. + + + The password is invalid. + The password is invalid. + + + Please enter a percentage value. + Please enter a percentage value. + + + The values do not match. + The values do not match. + + + Please enter a valid time. + Please enter a valid time. + + + Please select a valid timezone. + Please select a valid timezone. + + + Please enter a valid URL. + Please enter a valid URL. + + + Please enter a valid search term. + Please enter a valid search term. + + + Please provide a valid phone number. + Please provide a valid phone number. + + + The checkbox has an invalid value. + The checkbox has an invalid value. + + + Please enter a valid email address. + Please enter a valid email address. + + + Please select a valid option. + Please select a valid option. + + + Please select a valid range. + Please select a valid range. + + + Please enter a valid week. + Please enter a valid week. + + + There is already an account with this email + __There is already an account with this email + + + You should agree to our terms. + __You should agree to our terms. + + + Please enter a password + __Please enter a password + + + Your password should be at least {{ limit }} characters + __Your password should be at least {{ limit }} characters + + +
+