From 516b982916cce82b0bc23b68d8d454c7a2d67ae8 Mon Sep 17 00:00:00 2001 From: Marion Date: Mon, 17 Jun 2024 15:46:17 +0200 Subject: [PATCH 1/6] add default extent to a BBOX around switzerland --- api/models.py | 4 ++-- default_settings.py | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/api/models.py b/api/models.py index 92f6e338..d8880c70 100644 --- a/api/models.py +++ b/api/models.py @@ -482,11 +482,11 @@ class ProductStatus(models.TextChoices): default=settings.DEFAULT_PRODUCT_THUMBNAIL_URL, ) ts = SearchVectorField(null=True) - #TODO: A geom defaulting to None would be great, meaning product is available everywhere + bbox = settings.SWISS_EXTENT geom = models.MultiPolygonField( _("geom"), srid=settings.DEFAULT_SRID, - default=MultiPolygon(Polygon.from_bbox((2519900, 1186430, 2578200, 1227030))), + default=MultiPolygon(Polygon.from_bbox(bbox)), ) class Meta: diff --git a/default_settings.py b/default_settings.py index b145d944..d1943f3d 100644 --- a/default_settings.py +++ b/default_settings.py @@ -25,8 +25,8 @@ EMAIL_HOST = os.environ.get('EMAIL_HOST', 'localhost') # -DEFAULT_FROM_EMAIL = os.environ.get('DEFAULT_FROM_EMAIL', 'no-reply@ne.ch') -ADMIN_EMAIL_LIST = os.environ.get('ADMIN_EMAIL_LIST', 'no-reply@ne.ch') +DEFAULT_FROM_EMAIL = os.environ.get('DEFAULT_FROM_EMAIL', 'no-reply@ne.ch') # TODO what is a good the default value? +ADMIN_EMAIL_LIST = os.environ.get('ADMIN_EMAIL_LIST', 'no-reply@ne.ch') # TODO what is a good the default value? # Application definition @@ -130,7 +130,7 @@ # Internationalization # https://docs.djangoproject.com/en/3.0/topics/i18n/ -LANGUAGE_CODE = 'fr-ch' +LANGUAGE_CODE = 'fr-ch' # TODO make this configurable DEFAULT_CURRENCY = 'CHF' LOCALE_PATHS = [ @@ -244,5 +244,9 @@ # Geometries settings DEFAULT_SRID = 2056 +# Default Extent +# default extent is set to the BBOX of switzerland +SWISS_EXTENT = (2828694.200665463,1075126.8548189853,2484749.5514877755,1299777.3195268118) + # Controls values of metadata accessibility field that will turn the metadata public METADATA_PUBLIC_ACCESSIBILITIES = ['PUBLIC', 'APPROVAL_NEEDED'] From e5ad4b7e1c2917ad6cbbb893a31b383467fbfb46 Mon Sep 17 00:00:00 2001 From: Marion Date: Mon, 17 Jun 2024 17:32:51 +0200 Subject: [PATCH 2/6] add i18n and l10n for rn, it, rm --- api/locale/de/LC_MESSAGES/django.po | 774 ++++++++++++++++++ api/locale/en/LC_MESSAGES/django.po | 774 ++++++++++++++++++ api/locale/fr/LC_MESSAGES/django.po | 394 ++++----- api/locale/it/LC_MESSAGES/django.po | 774 ++++++++++++++++++ api/locale/rm/LC_MESSAGES/django.po | 774 ++++++++++++++++++ default_settings.py | 13 +- locale/de/LC_MESSAGES/django.po | 46 ++ locale/en/LC_MESSAGES/django.po | 46 ++ .../fr/LC_MESSAGES}/django.po | 27 +- locale/it/LC_MESSAGES/django.po | 46 ++ locale/rm/LC_MESSAGES/django.po | 46 ++ 11 files changed, 3518 insertions(+), 196 deletions(-) create mode 100644 api/locale/de/LC_MESSAGES/django.po create mode 100644 api/locale/en/LC_MESSAGES/django.po create mode 100644 api/locale/it/LC_MESSAGES/django.po create mode 100644 api/locale/rm/LC_MESSAGES/django.po create mode 100644 locale/de/LC_MESSAGES/django.po create mode 100644 locale/en/LC_MESSAGES/django.po rename {LC_MESSAGES => locale/fr/LC_MESSAGES}/django.po (60%) create mode 100644 locale/it/LC_MESSAGES/django.po create mode 100644 locale/rm/LC_MESSAGES/django.po diff --git a/api/locale/de/LC_MESSAGES/django.po b/api/locale/de/LC_MESSAGES/django.po new file mode 100644 index 00000000..44a58a3a --- /dev/null +++ b/api/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,774 @@ +# 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 , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-17 17:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \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" +#: api/admin.py:129 +msgid "Invoice contact does not belong to the client of this order!" +msgstr "" + +#: api/admin.py:175 +msgid "All the items have been submitted to Extract again." +msgstr "" + +#: api/admin.py:185 +msgid "Quote has been successfully done and an email has been sent to client" +msgstr "" + +#: api/admin.py:189 +msgid "Order prices cannot be calculated! Client will not be notified!" +msgstr "" + +#: api/admin.py:231 +msgid "Permissions" +msgstr "" + +#: api/admin.py:234 +msgid "Important dates" +msgstr "" + +#: api/admin.py:252 +msgid "Registration confirmation" +msgstr "" + +#: api/admin.py:256 +msgid "Your account has been registered successfully." +msgstr "" + +#: api/admin.py:263 +msgid "User is registered and an email has been sent to client" +msgstr "" + +#: api/admin.py:267 +msgid "User is not active yet! Client will not be notified!" +msgstr "" + +#: api/filters.py:20 +msgid "Search" +msgstr "" + +#: api/filters.py:21 +msgid "A search term." +msgstr "" + +#: api/models.py:31 +msgid "first_name" +msgstr "" + +#: api/models.py:32 +msgid "last_name" +msgstr "" + +#: api/models.py:33 +msgid "email" +msgstr "" + +#: api/models.py:34 +msgid "street" +msgstr "" + +#: api/models.py:35 +msgid "street2" +msgstr "" + +#: api/models.py:36 +msgid "postcode" +msgstr "" + +#: api/models.py:37 +msgid "city" +msgstr "" + +#: api/models.py:38 +msgid "country" +msgstr "" + +#: api/models.py:39 +msgid "company_name" +msgstr "" + +#: api/models.py:40 +msgid "phone" +msgstr "" + +#: api/models.py:58 +msgid "belongs_to" +msgstr "" + +#: api/models.py:60 api/models.py:133 +msgid "sap_id" +msgstr "" + +#: api/models.py:61 api/models.py:148 +msgid "subscribed" +msgstr "" + +#: api/models.py:62 +msgid "is_active" +msgstr "" + +#: api/models.py:66 +msgid "contact" +msgstr "" + +#: api/models.py:74 api/models.py:215 +msgid "copyright" +msgstr "" + +#: api/models.py:85 api/models.py:99 api/models.py:110 api/models.py:184 +#: api/models.py:326 api/models.py:394 +msgid "name" +msgstr "" + +#: api/models.py:87 api/models.py:625 +msgid "link" +msgstr "" + +#: api/models.py:87 +msgid "Please complete the above URL" +msgstr "" + +#: api/models.py:92 +msgid "document" +msgstr "" + +#: api/models.py:103 api/models.py:822 api/models.py:1032 +msgid "data_format" +msgstr "" + +#: api/models.py:114 +msgid "order type" +msgstr "" + +#: api/models.py:115 +msgid "order types" +msgstr "" + +#: api/models.py:129 +msgid "user" +msgstr "" + +#: api/models.py:135 api/models.py:1050 +msgid "ide_number" +msgstr "" + +#: api/models.py:142 api/models.py:1057 +msgid "IDE number is not valid" +msgstr "" + +#: api/models.py:146 +msgid "contract_accepted" +msgstr "" + +#: api/models.py:147 +msgid "is_public" +msgstr "" + +#: api/models.py:149 +msgid "birthday" +msgstr "" + +#: api/models.py:153 +msgid "identity" +msgstr "" + +#: api/models.py:161 +msgid "notation" +msgstr "" + +#: api/models.py:162 +msgid "description_fr" +msgstr "" + +#: api/models.py:166 +msgid "metadata_category_ech" +msgstr "" + +#: api/models.py:178 +msgid "Public" +msgstr "" + +#: api/models.py:179 +msgid "Approval needed" +msgstr "" + +#: api/models.py:180 +msgid "Not accessible" +msgstr "" + +#: api/models.py:181 +msgid "Internal" +msgstr "" + +#: api/models.py:183 +msgid "id_name" +msgstr "" + +#: api/models.py:188 +msgid "ech_category" +msgstr "" + +#: api/models.py:192 +msgid "description_long" +msgstr "" + +#: api/models.py:193 +msgid "genealogy" +msgstr "" + +#: api/models.py:195 +msgid "datasource" +msgstr "" + +#: api/models.py:198 +msgid "accessibility" +msgstr "" + +#: api/models.py:203 +msgid "scale" +msgstr "" + +#: api/models.py:204 +msgid "geocat_link" +msgstr "" + +#: api/models.py:205 +msgid "legend_link" +msgstr "" + +#: api/models.py:207 +msgid "image_link" +msgstr "" + +#: api/models.py:212 +msgid "wms_link" +msgstr "" + +#: api/models.py:213 +msgid "geoportal_link" +msgstr "" + +#: api/models.py:218 +msgid "documents" +msgstr "" + +#: api/models.py:222 +msgid "contact_persons" +msgstr "" + +#: api/models.py:230 +msgid "modified_user" +msgstr "" + +#: api/models.py:234 +msgid "data_last_update_date" +msgstr "" + +#: api/models.py:237 +msgid "update_frequency" +msgstr "" + +#: api/models.py:242 api/models.py:287 api/models.py:441 +msgid "metadata" +msgstr "" + +#: api/models.py:246 +msgid "Can view metadata with accessibility set to \"internal\"" +msgstr "" + +#: api/models.py:270 +msgid "legend" +msgstr "" + +#: api/models.py:279 +msgid "image" +msgstr "" + +#: api/models.py:291 +msgid "contact_person" +msgstr "" + +#: api/models.py:294 +msgid "role" +msgstr "" + +#: api/models.py:294 +msgid "Manager" +msgstr "" + +#: api/models.py:295 +msgid "is_validator" +msgstr "" + +#: api/models.py:299 +msgid "metadata_contact" +msgstr "" + +#: api/models.py:316 +msgid "Free" +msgstr "" + +#: api/models.py:317 +msgid "Single" +msgstr "" + +#: api/models.py:318 +msgid "By number of objects" +msgstr "" + +#: api/models.py:319 +msgid "By area" +msgstr "" + +#: api/models.py:320 +msgid "From a pricing layer" +msgstr "" + +#: api/models.py:322 +msgid "From children products of this group" +msgstr "" + +#: api/models.py:324 +msgid "Manual" +msgstr "" + +#: api/models.py:328 +msgid "pricing_type" +msgstr "" + +#: api/models.py:331 api/models.py:848 +msgid "base_fee" +msgstr "" + +#: api/models.py:339 +msgid "min_price" +msgstr "" + +#: api/models.py:347 +msgid "max_price" +msgstr "" + +#: api/models.py:355 +msgid "unit_price" +msgstr "" + +#: api/models.py:365 api/models.py:404 api/models.py:476 +msgid "pricing" +msgstr "" + +#: api/models.py:396 api/models.py:840 +msgid "price" +msgstr "" + +#: api/models.py:402 api/models.py:487 api/models.py:573 +msgid "geom" +msgstr "" + +#: api/models.py:409 +msgid "pricing_layer" +msgstr "" + +#: api/models.py:431 api/models.py:520 +msgid "Draft" +msgstr "" + +#: api/models.py:432 +msgid "Published" +msgstr "" + +#: api/models.py:434 +msgid "Published only in group" +msgstr "" + +#: api/models.py:436 +msgid "Deprecated" +msgstr "" + +#: api/models.py:446 +msgid "label" +msgstr "" + +#: api/models.py:452 +msgid "Label contains forbidden characters" +msgstr "" + +#: api/models.py:457 +msgid "product_status" +msgstr "" + +#: api/models.py:465 +msgid "group" +msgstr "" + +#: api/models.py:473 +msgid "provider" +msgstr "" + +#: api/models.py:477 +msgid "free_when_subscribed" +msgstr "" + +#: api/models.py:478 +msgid "order_index" +msgstr "" + +#: api/models.py:480 +msgid "thumbnail_link" +msgstr "" + +#: api/models.py:494 api/models.py:819 api/models.py:1016 api/models.py:1028 +msgid "product" +msgstr "" + +#: api/models.py:511 +msgid "thumbnail" +msgstr "" + +#: api/models.py:521 api/models.py:798 api/models.py:804 +msgid "Pending" +msgstr "" + +#: api/models.py:522 +msgid "Quote done" +msgstr "" + +#: api/models.py:523 +msgid "Ready" +msgstr "" + +#: api/models.py:524 api/models.py:805 +msgid "In extract" +msgstr "" + +#: api/models.py:525 +msgid "Partially delivered" +msgstr "" + +#: api/models.py:526 api/models.py:806 +msgid "Processed" +msgstr "" + +#: api/models.py:527 api/models.py:807 +msgid "Archived" +msgstr "" + +#: api/models.py:528 api/models.py:808 +msgid "Rejected" +msgstr "" + +#: api/models.py:531 +msgid "title" +msgstr "" + +#: api/models.py:536 +msgid "Title contains forbidden characters" +msgstr "" + +#: api/models.py:540 +msgid "description" +msgstr "" + +#: api/models.py:542 +msgid "processing_fee" +msgstr "" + +#: api/models.py:550 +msgid "total_without_vat" +msgstr "" + +#: api/models.py:558 +msgid "part_vat" +msgstr "" + +#: api/models.py:566 +msgid "total_with_vat" +msgstr "" + +#: api/models.py:575 api/models.py:1048 +msgid "client" +msgstr "" + +#: api/models.py:580 +msgid "invoice_contact" +msgstr "" + +#: api/models.py:586 +msgid "invoice_reference" +msgstr "" + +#: api/models.py:589 +msgid "email_deliver" +msgstr "" + +#: api/models.py:592 +msgid "order_type" +msgstr "" + +#: api/models.py:595 +msgid "order_status" +msgstr "" + +#: api/models.py:600 +msgid "date_ordered" +msgstr "" + +#: api/models.py:601 +msgid "date_downloaded" +msgstr "" + +#: api/models.py:602 +msgid "date_processed" +msgstr "" + +#: api/models.py:604 +msgid "download_guid" +msgstr "" + +#: api/models.py:609 api/models.py:624 api/models.py:814 api/serializers.py:316 +msgid "order" +msgstr "" + +#: api/models.py:619 +msgid "Geoshop - Quote requested" +msgstr "" + +#: api/models.py:622 +msgid "A new quote has been requested:" +msgstr "" + +#: api/models.py:659 +msgid "Geoshop - Quote has been done" +msgstr "" + +#: api/models.py:761 +msgid "Geoshop - Download ready" +msgstr "" + +#: api/models.py:799 +msgid "Calculated" +msgstr "" + +#: api/models.py:800 +msgid "Imported" +msgstr "" + +#: api/models.py:803 +msgid "Validation pending" +msgstr "" + +#: api/models.py:824 +msgid "srid" +msgstr "" + +#: api/models.py:825 +msgid "last_download" +msgstr "" + +#: api/models.py:826 +msgid "validation_date" +msgstr "" + +#: api/models.py:828 +msgid "price_status" +msgstr "" + +#: api/models.py:834 +msgid "status" +msgstr "" + +#: api/models.py:858 +msgid "comment" +msgstr "" + +#: api/models.py:859 +msgid "token" +msgstr "" + +#: api/models.py:863 +msgid "order_item" +msgstr "" + +#: api/models.py:980 +msgid "Geoshop - Validation requested" +msgstr "" + +#: api/models.py:1007 +msgid "db_name" +msgstr "" + +#: api/models.py:1008 +msgid "export_name" +msgstr "" + +#: api/models.py:1010 +msgid "field_type" +msgstr "" + +#: api/models.py:1013 +msgid "field_length" +msgstr "" + +#: api/models.py:1021 +msgid "product_field" +msgstr "" + +#: api/models.py:1035 +msgid "is_manual" +msgstr "" + +#: api/models.py:1040 +msgid "product_format" +msgstr "" + +#: api/models.py:1064 +msgid "user_change" +msgstr "" + +#: api/pricing.py:34 +msgid "Geoshop - Error, pricing is not defined" +msgstr "" + +#: api/pricing.py:37 +msgid "{} is not defined in pricing module." +msgstr "" + +#: api/pricing.py:94 +msgid "Geoshop - Error, pricing has no geometries linked to it" +msgstr "" + +#: api/pricing.py:98 +msgid "The pricing \"{}\" is defined but no geometries were found for it." +msgstr "" + +#: api/serializers.py:70 +msgid "" +"Invalid format: string or unicode input unrecognized as GeoJSON, WKT EWKT or " +"HEXEWKB." +msgstr "" + +#: api/serializers.py:75 +msgid "Unable to convert to python object: {}" +msgstr "" + +#: api/serializers.py:311 +msgid "Geoshop - Invalid geometry" +msgstr "" + +#: api/serializers.py:314 +msgid "A new order has been submitted and its geometry is invalid:" +msgstr "" + +#: api/serializers.py:638 +msgid "The two password fields didn't match." +msgstr "" + +#: api/templates/admin/api/order_change_form.html:7 +msgid "Reset order for Extract" +msgstr "" + +#: api/templates/admin/api/order_change_form.html:8 +msgid "Send quote to client" +msgstr "" + +#: api/templates/admin/api/user_change_form.html:7 +msgid "Send confirmation email to client" +msgstr "" + +#: api/templates/email_admin_fr-ch.html:4 +msgid "Dear administrator," +msgstr "" + +#: api/templates/email_base_template.html:92 +msgid "Dear user," +msgstr "" + +#: api/templates/email_base_template.html:103 +msgid "" +"This is an automated email, please do not reply. For any question, feel free " +"to contact us at" +msgstr "" + +#: api/templates/email_password_reset.html:4 +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +#: api/templates/email_password_reset.html:6 +msgid "Please go to the following page and choose a new password:" +msgstr "" + +#: api/templates/email_password_reset.html:10 +msgid "Your username, in case you’ve forgotten:" +msgstr "" + +#: api/views.py:212 +msgid "This orderitem cannot be deleted anymore." +msgstr "" + +#: api/views.py:232 api/views.py:608 +msgid "Zip does not exist" +msgstr "" + +#: api/views.py:297 +msgid "This order cannot be deleted anymore." +msgstr "" + +#: api/views.py:344 +msgid "Full zip is not ready" +msgstr "" + +#: api/views.py:432 +msgid "Password reset e-mail has been sent." +msgstr "" + +#: api/views.py:459 +msgid "Password has been reset with the new password." +msgstr "" + +#: api/views.py:517 +msgid "Geoshop - New user request" +msgstr "" + +#: api/views.py:520 +msgid "A new user account needs to be validated:" +msgstr "" + +#: api/views.py:526 +msgid "Geoshop - New account pending" +msgstr "" + +#: api/views.py:532 api/views.py:657 +msgid "Your data was successfully submitted" +msgstr "" + +#: api/views.py:641 +msgid "Geoshop - User change request" +msgstr "" + +#: api/views.py:645 +msgid "The user {} has requested some changes for his user profile." +msgstr "" + +#: api/views.py:651 +msgid "Geoshop - Your changes request" +msgstr "" + +#: api/views.py:674 +msgid "ok" +msgstr "" diff --git a/api/locale/en/LC_MESSAGES/django.po b/api/locale/en/LC_MESSAGES/django.po new file mode 100644 index 00000000..44a58a3a --- /dev/null +++ b/api/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,774 @@ +# 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 , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-17 17:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \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" +#: api/admin.py:129 +msgid "Invoice contact does not belong to the client of this order!" +msgstr "" + +#: api/admin.py:175 +msgid "All the items have been submitted to Extract again." +msgstr "" + +#: api/admin.py:185 +msgid "Quote has been successfully done and an email has been sent to client" +msgstr "" + +#: api/admin.py:189 +msgid "Order prices cannot be calculated! Client will not be notified!" +msgstr "" + +#: api/admin.py:231 +msgid "Permissions" +msgstr "" + +#: api/admin.py:234 +msgid "Important dates" +msgstr "" + +#: api/admin.py:252 +msgid "Registration confirmation" +msgstr "" + +#: api/admin.py:256 +msgid "Your account has been registered successfully." +msgstr "" + +#: api/admin.py:263 +msgid "User is registered and an email has been sent to client" +msgstr "" + +#: api/admin.py:267 +msgid "User is not active yet! Client will not be notified!" +msgstr "" + +#: api/filters.py:20 +msgid "Search" +msgstr "" + +#: api/filters.py:21 +msgid "A search term." +msgstr "" + +#: api/models.py:31 +msgid "first_name" +msgstr "" + +#: api/models.py:32 +msgid "last_name" +msgstr "" + +#: api/models.py:33 +msgid "email" +msgstr "" + +#: api/models.py:34 +msgid "street" +msgstr "" + +#: api/models.py:35 +msgid "street2" +msgstr "" + +#: api/models.py:36 +msgid "postcode" +msgstr "" + +#: api/models.py:37 +msgid "city" +msgstr "" + +#: api/models.py:38 +msgid "country" +msgstr "" + +#: api/models.py:39 +msgid "company_name" +msgstr "" + +#: api/models.py:40 +msgid "phone" +msgstr "" + +#: api/models.py:58 +msgid "belongs_to" +msgstr "" + +#: api/models.py:60 api/models.py:133 +msgid "sap_id" +msgstr "" + +#: api/models.py:61 api/models.py:148 +msgid "subscribed" +msgstr "" + +#: api/models.py:62 +msgid "is_active" +msgstr "" + +#: api/models.py:66 +msgid "contact" +msgstr "" + +#: api/models.py:74 api/models.py:215 +msgid "copyright" +msgstr "" + +#: api/models.py:85 api/models.py:99 api/models.py:110 api/models.py:184 +#: api/models.py:326 api/models.py:394 +msgid "name" +msgstr "" + +#: api/models.py:87 api/models.py:625 +msgid "link" +msgstr "" + +#: api/models.py:87 +msgid "Please complete the above URL" +msgstr "" + +#: api/models.py:92 +msgid "document" +msgstr "" + +#: api/models.py:103 api/models.py:822 api/models.py:1032 +msgid "data_format" +msgstr "" + +#: api/models.py:114 +msgid "order type" +msgstr "" + +#: api/models.py:115 +msgid "order types" +msgstr "" + +#: api/models.py:129 +msgid "user" +msgstr "" + +#: api/models.py:135 api/models.py:1050 +msgid "ide_number" +msgstr "" + +#: api/models.py:142 api/models.py:1057 +msgid "IDE number is not valid" +msgstr "" + +#: api/models.py:146 +msgid "contract_accepted" +msgstr "" + +#: api/models.py:147 +msgid "is_public" +msgstr "" + +#: api/models.py:149 +msgid "birthday" +msgstr "" + +#: api/models.py:153 +msgid "identity" +msgstr "" + +#: api/models.py:161 +msgid "notation" +msgstr "" + +#: api/models.py:162 +msgid "description_fr" +msgstr "" + +#: api/models.py:166 +msgid "metadata_category_ech" +msgstr "" + +#: api/models.py:178 +msgid "Public" +msgstr "" + +#: api/models.py:179 +msgid "Approval needed" +msgstr "" + +#: api/models.py:180 +msgid "Not accessible" +msgstr "" + +#: api/models.py:181 +msgid "Internal" +msgstr "" + +#: api/models.py:183 +msgid "id_name" +msgstr "" + +#: api/models.py:188 +msgid "ech_category" +msgstr "" + +#: api/models.py:192 +msgid "description_long" +msgstr "" + +#: api/models.py:193 +msgid "genealogy" +msgstr "" + +#: api/models.py:195 +msgid "datasource" +msgstr "" + +#: api/models.py:198 +msgid "accessibility" +msgstr "" + +#: api/models.py:203 +msgid "scale" +msgstr "" + +#: api/models.py:204 +msgid "geocat_link" +msgstr "" + +#: api/models.py:205 +msgid "legend_link" +msgstr "" + +#: api/models.py:207 +msgid "image_link" +msgstr "" + +#: api/models.py:212 +msgid "wms_link" +msgstr "" + +#: api/models.py:213 +msgid "geoportal_link" +msgstr "" + +#: api/models.py:218 +msgid "documents" +msgstr "" + +#: api/models.py:222 +msgid "contact_persons" +msgstr "" + +#: api/models.py:230 +msgid "modified_user" +msgstr "" + +#: api/models.py:234 +msgid "data_last_update_date" +msgstr "" + +#: api/models.py:237 +msgid "update_frequency" +msgstr "" + +#: api/models.py:242 api/models.py:287 api/models.py:441 +msgid "metadata" +msgstr "" + +#: api/models.py:246 +msgid "Can view metadata with accessibility set to \"internal\"" +msgstr "" + +#: api/models.py:270 +msgid "legend" +msgstr "" + +#: api/models.py:279 +msgid "image" +msgstr "" + +#: api/models.py:291 +msgid "contact_person" +msgstr "" + +#: api/models.py:294 +msgid "role" +msgstr "" + +#: api/models.py:294 +msgid "Manager" +msgstr "" + +#: api/models.py:295 +msgid "is_validator" +msgstr "" + +#: api/models.py:299 +msgid "metadata_contact" +msgstr "" + +#: api/models.py:316 +msgid "Free" +msgstr "" + +#: api/models.py:317 +msgid "Single" +msgstr "" + +#: api/models.py:318 +msgid "By number of objects" +msgstr "" + +#: api/models.py:319 +msgid "By area" +msgstr "" + +#: api/models.py:320 +msgid "From a pricing layer" +msgstr "" + +#: api/models.py:322 +msgid "From children products of this group" +msgstr "" + +#: api/models.py:324 +msgid "Manual" +msgstr "" + +#: api/models.py:328 +msgid "pricing_type" +msgstr "" + +#: api/models.py:331 api/models.py:848 +msgid "base_fee" +msgstr "" + +#: api/models.py:339 +msgid "min_price" +msgstr "" + +#: api/models.py:347 +msgid "max_price" +msgstr "" + +#: api/models.py:355 +msgid "unit_price" +msgstr "" + +#: api/models.py:365 api/models.py:404 api/models.py:476 +msgid "pricing" +msgstr "" + +#: api/models.py:396 api/models.py:840 +msgid "price" +msgstr "" + +#: api/models.py:402 api/models.py:487 api/models.py:573 +msgid "geom" +msgstr "" + +#: api/models.py:409 +msgid "pricing_layer" +msgstr "" + +#: api/models.py:431 api/models.py:520 +msgid "Draft" +msgstr "" + +#: api/models.py:432 +msgid "Published" +msgstr "" + +#: api/models.py:434 +msgid "Published only in group" +msgstr "" + +#: api/models.py:436 +msgid "Deprecated" +msgstr "" + +#: api/models.py:446 +msgid "label" +msgstr "" + +#: api/models.py:452 +msgid "Label contains forbidden characters" +msgstr "" + +#: api/models.py:457 +msgid "product_status" +msgstr "" + +#: api/models.py:465 +msgid "group" +msgstr "" + +#: api/models.py:473 +msgid "provider" +msgstr "" + +#: api/models.py:477 +msgid "free_when_subscribed" +msgstr "" + +#: api/models.py:478 +msgid "order_index" +msgstr "" + +#: api/models.py:480 +msgid "thumbnail_link" +msgstr "" + +#: api/models.py:494 api/models.py:819 api/models.py:1016 api/models.py:1028 +msgid "product" +msgstr "" + +#: api/models.py:511 +msgid "thumbnail" +msgstr "" + +#: api/models.py:521 api/models.py:798 api/models.py:804 +msgid "Pending" +msgstr "" + +#: api/models.py:522 +msgid "Quote done" +msgstr "" + +#: api/models.py:523 +msgid "Ready" +msgstr "" + +#: api/models.py:524 api/models.py:805 +msgid "In extract" +msgstr "" + +#: api/models.py:525 +msgid "Partially delivered" +msgstr "" + +#: api/models.py:526 api/models.py:806 +msgid "Processed" +msgstr "" + +#: api/models.py:527 api/models.py:807 +msgid "Archived" +msgstr "" + +#: api/models.py:528 api/models.py:808 +msgid "Rejected" +msgstr "" + +#: api/models.py:531 +msgid "title" +msgstr "" + +#: api/models.py:536 +msgid "Title contains forbidden characters" +msgstr "" + +#: api/models.py:540 +msgid "description" +msgstr "" + +#: api/models.py:542 +msgid "processing_fee" +msgstr "" + +#: api/models.py:550 +msgid "total_without_vat" +msgstr "" + +#: api/models.py:558 +msgid "part_vat" +msgstr "" + +#: api/models.py:566 +msgid "total_with_vat" +msgstr "" + +#: api/models.py:575 api/models.py:1048 +msgid "client" +msgstr "" + +#: api/models.py:580 +msgid "invoice_contact" +msgstr "" + +#: api/models.py:586 +msgid "invoice_reference" +msgstr "" + +#: api/models.py:589 +msgid "email_deliver" +msgstr "" + +#: api/models.py:592 +msgid "order_type" +msgstr "" + +#: api/models.py:595 +msgid "order_status" +msgstr "" + +#: api/models.py:600 +msgid "date_ordered" +msgstr "" + +#: api/models.py:601 +msgid "date_downloaded" +msgstr "" + +#: api/models.py:602 +msgid "date_processed" +msgstr "" + +#: api/models.py:604 +msgid "download_guid" +msgstr "" + +#: api/models.py:609 api/models.py:624 api/models.py:814 api/serializers.py:316 +msgid "order" +msgstr "" + +#: api/models.py:619 +msgid "Geoshop - Quote requested" +msgstr "" + +#: api/models.py:622 +msgid "A new quote has been requested:" +msgstr "" + +#: api/models.py:659 +msgid "Geoshop - Quote has been done" +msgstr "" + +#: api/models.py:761 +msgid "Geoshop - Download ready" +msgstr "" + +#: api/models.py:799 +msgid "Calculated" +msgstr "" + +#: api/models.py:800 +msgid "Imported" +msgstr "" + +#: api/models.py:803 +msgid "Validation pending" +msgstr "" + +#: api/models.py:824 +msgid "srid" +msgstr "" + +#: api/models.py:825 +msgid "last_download" +msgstr "" + +#: api/models.py:826 +msgid "validation_date" +msgstr "" + +#: api/models.py:828 +msgid "price_status" +msgstr "" + +#: api/models.py:834 +msgid "status" +msgstr "" + +#: api/models.py:858 +msgid "comment" +msgstr "" + +#: api/models.py:859 +msgid "token" +msgstr "" + +#: api/models.py:863 +msgid "order_item" +msgstr "" + +#: api/models.py:980 +msgid "Geoshop - Validation requested" +msgstr "" + +#: api/models.py:1007 +msgid "db_name" +msgstr "" + +#: api/models.py:1008 +msgid "export_name" +msgstr "" + +#: api/models.py:1010 +msgid "field_type" +msgstr "" + +#: api/models.py:1013 +msgid "field_length" +msgstr "" + +#: api/models.py:1021 +msgid "product_field" +msgstr "" + +#: api/models.py:1035 +msgid "is_manual" +msgstr "" + +#: api/models.py:1040 +msgid "product_format" +msgstr "" + +#: api/models.py:1064 +msgid "user_change" +msgstr "" + +#: api/pricing.py:34 +msgid "Geoshop - Error, pricing is not defined" +msgstr "" + +#: api/pricing.py:37 +msgid "{} is not defined in pricing module." +msgstr "" + +#: api/pricing.py:94 +msgid "Geoshop - Error, pricing has no geometries linked to it" +msgstr "" + +#: api/pricing.py:98 +msgid "The pricing \"{}\" is defined but no geometries were found for it." +msgstr "" + +#: api/serializers.py:70 +msgid "" +"Invalid format: string or unicode input unrecognized as GeoJSON, WKT EWKT or " +"HEXEWKB." +msgstr "" + +#: api/serializers.py:75 +msgid "Unable to convert to python object: {}" +msgstr "" + +#: api/serializers.py:311 +msgid "Geoshop - Invalid geometry" +msgstr "" + +#: api/serializers.py:314 +msgid "A new order has been submitted and its geometry is invalid:" +msgstr "" + +#: api/serializers.py:638 +msgid "The two password fields didn't match." +msgstr "" + +#: api/templates/admin/api/order_change_form.html:7 +msgid "Reset order for Extract" +msgstr "" + +#: api/templates/admin/api/order_change_form.html:8 +msgid "Send quote to client" +msgstr "" + +#: api/templates/admin/api/user_change_form.html:7 +msgid "Send confirmation email to client" +msgstr "" + +#: api/templates/email_admin_fr-ch.html:4 +msgid "Dear administrator," +msgstr "" + +#: api/templates/email_base_template.html:92 +msgid "Dear user," +msgstr "" + +#: api/templates/email_base_template.html:103 +msgid "" +"This is an automated email, please do not reply. For any question, feel free " +"to contact us at" +msgstr "" + +#: api/templates/email_password_reset.html:4 +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +#: api/templates/email_password_reset.html:6 +msgid "Please go to the following page and choose a new password:" +msgstr "" + +#: api/templates/email_password_reset.html:10 +msgid "Your username, in case you’ve forgotten:" +msgstr "" + +#: api/views.py:212 +msgid "This orderitem cannot be deleted anymore." +msgstr "" + +#: api/views.py:232 api/views.py:608 +msgid "Zip does not exist" +msgstr "" + +#: api/views.py:297 +msgid "This order cannot be deleted anymore." +msgstr "" + +#: api/views.py:344 +msgid "Full zip is not ready" +msgstr "" + +#: api/views.py:432 +msgid "Password reset e-mail has been sent." +msgstr "" + +#: api/views.py:459 +msgid "Password has been reset with the new password." +msgstr "" + +#: api/views.py:517 +msgid "Geoshop - New user request" +msgstr "" + +#: api/views.py:520 +msgid "A new user account needs to be validated:" +msgstr "" + +#: api/views.py:526 +msgid "Geoshop - New account pending" +msgstr "" + +#: api/views.py:532 api/views.py:657 +msgid "Your data was successfully submitted" +msgstr "" + +#: api/views.py:641 +msgid "Geoshop - User change request" +msgstr "" + +#: api/views.py:645 +msgid "The user {} has requested some changes for his user profile." +msgstr "" + +#: api/views.py:651 +msgid "Geoshop - Your changes request" +msgstr "" + +#: api/views.py:674 +msgid "ok" +msgstr "" diff --git a/api/locale/fr/LC_MESSAGES/django.po b/api/locale/fr/LC_MESSAGES/django.po index 46859863..06a42dd1 100644 --- a/api/locale/fr/LC_MESSAGES/django.po +++ b/api/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-20 11:04+0100\n" +"POT-Creation-Date: 2024-06-17 17:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,537 +17,547 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: .\api\admin.py:121 +#: api/admin.py:129 msgid "Invoice contact does not belong to the client of this order!" msgstr "" "Le contact pour la facturation n'est pas dans le carnet d'adresses du client " "à qui appartient cette commande." -#: .\api\admin.py:167 +#: api/admin.py:175 msgid "All the items have been submitted to Extract again." msgstr "" "Tous les produits commandés de cette commande ont été renvoyés à Extract." -#: .\api\admin.py:177 +#: api/admin.py:185 msgid "Quote has been successfully done and an email has been sent to client" msgstr "Le devis de la commande a été calculé et le client a été notifié" -#: .\api\admin.py:181 +#: api/admin.py:189 msgid "Order prices cannot be calculated! Client will not be notified!" msgstr "" "Le devis de la commande ne peut pas être calculé, le client ne sera pas " "notifié" -#: .\api\admin.py:223 +#: api/admin.py:231 msgid "Permissions" msgstr "Permissions" -#: .\api\admin.py:226 +#: api/admin.py:234 msgid "Important dates" msgstr "Dates importantes" -#: .\api\admin.py:244 +#: api/admin.py:252 msgid "Registration confirmation" msgstr "Confirmation d'inscription" -#: .\api\admin.py:248 +#: api/admin.py:256 msgid "Your account has been registered successfully." msgstr "Votre compte est désormais actif." -#: .\api\admin.py:255 +#: api/admin.py:263 msgid "User is registered and an email has been sent to client" msgstr "Le client est actif et un email lui a été envoyé." -#: .\api\admin.py:259 +#: api/admin.py:267 msgid "User is not active yet! Client will not be notified!" msgstr "" "Le client n'est pas encore actif, aucun email ne lui a été envoyé pour " "l'instant." -#: .\api\filters.py:19 +#: api/filters.py:20 msgid "Search" msgstr "Recherche" -#: .\api\filters.py:20 +#: api/filters.py:21 msgid "A search term." msgstr "Entrez ici votre recherche" -#: .\api\models.py:30 +#: api/models.py:31 msgid "first_name" msgstr "Prénom" -#: .\api\models.py:31 +#: api/models.py:32 msgid "last_name" msgstr "Nom" -#: .\api\models.py:32 +#: api/models.py:33 msgid "email" msgstr "Email" -#: .\api\models.py:33 +#: api/models.py:34 msgid "street" msgstr "adresse" -#: .\api\models.py:34 +#: api/models.py:35 msgid "street2" msgstr "complément d'adresse" -#: .\api\models.py:35 +#: api/models.py:36 msgid "postcode" msgstr "NPA" -#: .\api\models.py:36 +#: api/models.py:37 msgid "city" msgstr "ville" -#: .\api\models.py:37 +#: api/models.py:38 msgid "country" msgstr "pays" -#: .\api\models.py:39 +#: api/models.py:39 msgid "company_name" msgstr "raison sociale" -#: .\api\models.py:40 +#: api/models.py:40 msgid "phone" msgstr "téléphone" -#: .\api\models.py:57 +#: api/models.py:58 msgid "belongs_to" msgstr "appartient à" -#: .\api\models.py:58 .\api\models.py:127 +#: api/models.py:60 api/models.py:133 msgid "sap_id" msgstr "Numéro SAP" -#: .\api\models.py:59 .\api\models.py:136 +#: api/models.py:61 api/models.py:148 msgid "subscribed" msgstr "utilisateur permanent" -#: .\api\models.py:60 +#: api/models.py:62 msgid "is_active" msgstr "actif" -#: .\api\models.py:64 +#: api/models.py:66 msgid "contact" msgstr "contact" -#: .\api\models.py:72 .\api\models.py:190 +#: api/models.py:74 api/models.py:215 msgid "copyright" msgstr "copyright" -#: .\api\models.py:82 .\api\models.py:99 .\api\models.py:110 -#: .\api\models.py:172 .\api\models.py:277 .\api\models.py:322 +#: api/models.py:85 api/models.py:99 api/models.py:110 api/models.py:184 +#: api/models.py:326 api/models.py:394 msgid "name" msgstr "nom" -#: .\api\models.py:84 .\api\models.py:477 +#: api/models.py:87 api/models.py:625 msgid "link" msgstr "lien" -#: .\api\models.py:85 +#: api/models.py:87 msgid "Please complete the above URL" msgstr "Veuillez compléter l'URL ci-dessus" -#: .\api\models.py:92 +#: api/models.py:92 msgid "document" msgstr "document" -#: .\api\models.py:103 .\api\models.py:659 .\api\models.py:820 +#: api/models.py:103 api/models.py:822 api/models.py:1032 msgid "data_format" msgstr "format du produit" -#: .\api\models.py:114 +#: api/models.py:114 msgid "order type" msgstr "type de commande" -#: .\api\models.py:115 +#: api/models.py:115 msgid "order types" msgstr "types de commande" -#: .\api\models.py:126 +#: api/models.py:129 msgid "user" msgstr "utilisateur" -#: .\api\models.py:128 .\api\models.py:835 +#: api/models.py:135 api/models.py:1050 msgid "ide_number" msgstr "Numéro IDE" -#: .\api\models.py:131 .\api\models.py:838 +#: api/models.py:142 api/models.py:1057 msgid "IDE number is not valid" msgstr "Le numéro IDE n'est pas valable" -#: .\api\models.py:134 +#: api/models.py:146 msgid "contract_accepted" msgstr "Date d'acceptation du contrat" -#: .\api\models.py:135 +#: api/models.py:147 msgid "is_public" msgstr "public?" -#: .\api\models.py:137 +#: api/models.py:149 msgid "birthday" msgstr "Date de naissance" -#: .\api\models.py:141 +#: api/models.py:153 msgid "identity" msgstr "identité" -#: .\api\models.py:149 +#: api/models.py:161 msgid "notation" msgstr "notation" -#: .\api\models.py:150 +#: api/models.py:162 msgid "description_fr" msgstr "description" -#: .\api\models.py:154 +#: api/models.py:166 msgid "metadata_category_ech" msgstr "Thématique eCH pour les métadonnées" -#: .\api\models.py:166 +#: api/models.py:178 msgid "Public" msgstr "Public" -#: .\api\models.py:167 +#: api/models.py:179 msgid "Approval needed" msgstr "Diffusion restreinte" -#: .\api\models.py:168 +#: api/models.py:180 msgid "Not accessible" msgstr "Non diffusé" -#: .\api\models.py:169 +#: api/models.py:181 msgid "Internal" msgstr "Non diffusé, métadonnée interne" -#: .\api\models.py:171 +#: api/models.py:183 msgid "id_name" msgstr "nom unique" -#: .\api\models.py:174 +#: api/models.py:188 msgid "ech_category" msgstr "catégorie eCH" -#: .\api\models.py:175 +#: api/models.py:192 msgid "description_long" msgstr "description longue" -#: .\api\models.py:176 +#: api/models.py:193 msgid "genealogy" msgstr "généalogie" -#: .\api\models.py:177 +#: api/models.py:195 msgid "datasource" msgstr "source de diffusion" -#: .\api\models.py:179 +#: api/models.py:198 msgid "accessibility" msgstr "accessibilité" -#: .\api\models.py:183 +#: api/models.py:203 msgid "scale" msgstr "échelle" -#: .\api\models.py:184 +#: api/models.py:204 msgid "geocat_link" msgstr "lien Géocat" -#: .\api\models.py:185 +#: api/models.py:205 msgid "legend_link" msgstr "lien vers la légende" -#: .\api\models.py:186 +#: api/models.py:207 msgid "image_link" msgstr "lien vers l'image" -#: .\api\models.py:187 +#: api/models.py:212 msgid "wms_link" msgstr "lien WMS" -#: .\api\models.py:188 +#: api/models.py:213 msgid "geoportal_link" msgstr "lien géoportail" -#: .\api\models.py:191 +#: api/models.py:218 msgid "documents" msgstr "documents" -#: .\api\models.py:194 +#: api/models.py:222 msgid "contact_persons" msgstr "contact" -#: .\api\models.py:201 +#: api/models.py:230 msgid "modified_user" msgstr "modifié par" -#: .\api\models.py:203 +#: api/models.py:234 msgid "data_last_update_date" msgstr "Dernière mise à jour des données" -#: .\api\models.py:204 +#: api/models.py:237 msgid "update_frequency" msgstr "Fréquence de mise à jour" -#: .\api\models.py:208 .\api\models.py:245 .\api\models.py:360 +#: api/models.py:242 api/models.py:287 api/models.py:441 msgid "metadata" msgstr "métadonnée" -#: .\api\models.py:210 +#: api/models.py:246 msgid "Can view metadata with accessibility set to \"internal\"" msgstr "Accès aux métadonnées intranet" -#: .\api\models.py:232 +#: api/models.py:270 msgid "legend" msgstr "légende" -#: .\api\models.py:238 +#: api/models.py:279 msgid "image" msgstr "image" -#: .\api\models.py:247 +#: api/models.py:291 msgid "contact_person" msgstr "contact" -#: .\api\models.py:248 +#: api/models.py:294 msgid "role" msgstr "role" -#: .\api\models.py:249 +#: api/models.py:294 +msgid "Manager" +msgstr "" + +#: api/models.py:295 msgid "is_validator" msgstr "Est validateur?" -#: .\api\models.py:253 +#: api/models.py:299 msgid "metadata_contact" msgstr "interlocuteur" -#: .\api\models.py:269 +#: api/models.py:316 msgid "Free" msgstr "gratuit" -#: .\api\models.py:270 +#: api/models.py:317 msgid "Single" msgstr "unique" -#: .\api\models.py:271 +#: api/models.py:318 msgid "By number of objects" msgstr "selon le nombre d'objets" -#: .\api\models.py:272 +#: api/models.py:319 msgid "By area" msgstr "selon la surface" -#: .\api\models.py:273 +#: api/models.py:320 msgid "From a pricing layer" msgstr "selon couche de tarification" -#: .\api\models.py:274 +#: api/models.py:322 msgid "From children products of this group" msgstr "selon les produits enfants de ce groupe" -#: .\api\models.py:275 +#: api/models.py:324 msgid "Manual" msgstr "traitement manuel" -#: .\api\models.py:279 +#: api/models.py:328 msgid "pricing_type" msgstr "type de tarification" -#: .\api\models.py:281 .\api\models.py:670 +#: api/models.py:331 api/models.py:848 msgid "base_fee" msgstr "taxe de base" -#: .\api\models.py:283 +#: api/models.py:339 msgid "min_price" msgstr "prix minimum" -#: .\api\models.py:285 +#: api/models.py:347 msgid "max_price" msgstr "prix maximum" -#: .\api\models.py:287 +#: api/models.py:355 msgid "unit_price" msgstr "prix unitaire" -#: .\api\models.py:291 .\api\models.py:326 .\api\models.py:379 +#: api/models.py:365 api/models.py:404 api/models.py:476 msgid "pricing" msgstr "tarification" -#: .\api\models.py:324 .\api\models.py:668 +#: api/models.py:396 api/models.py:840 msgid "price" msgstr "prix" -#: .\api\models.py:325 .\api\models.py:385 .\api\models.py:437 +#: api/models.py:402 api/models.py:487 api/models.py:573 msgid "geom" msgstr "géométrie" -#: .\api\models.py:330 +#: api/models.py:409 msgid "pricing_layer" msgstr "couche de tarification" -#: .\api\models.py:352 .\api\models.py:412 +#: api/models.py:431 api/models.py:520 msgid "Draft" msgstr "Brouillon" -#: .\api\models.py:353 +#: api/models.py:432 msgid "Published" msgstr "Publié" -#: .\api\models.py:354 +#: api/models.py:434 msgid "Published only in group" msgstr "Seulement dans un groupe" -#: .\api\models.py:355 +#: api/models.py:436 msgid "Deprecated" msgstr "Obsolète" -#: .\api\models.py:364 +#: api/models.py:446 msgid "label" msgstr "étiquette" -#: .\api\models.py:367 +#: api/models.py:452 msgid "Label contains forbidden characters" msgstr "L'étiquette' contient des caractères spéciaux interdits." -#: .\api\models.py:371 .\api\models.py:451 .\api\models.py:666 -msgid "status" -msgstr "statut" +#: api/models.py:457 +#, fuzzy +#| msgid "price_status" +msgid "product_status" +msgstr "statut du prix" -#: .\api\models.py:373 +#: api/models.py:465 msgid "group" msgstr "groupe" -#: .\api\models.py:375 +#: api/models.py:473 msgid "provider" msgstr "fournisseur" -#: .\api\models.py:380 +#: api/models.py:477 msgid "free_when_subscribed" msgstr "gratuit pour utilisateurs permanents" -#: .\api\models.py:381 +#: api/models.py:478 msgid "order_index" msgstr "rang" -#: .\api\models.py:383 +#: api/models.py:480 msgid "thumbnail_link" msgstr "lien vers l'aperçu" -#: .\api\models.py:391 .\api\models.py:657 .\api\models.py:810 -#: .\api\models.py:819 +#: api/models.py:494 api/models.py:819 api/models.py:1016 api/models.py:1028 msgid "product" msgstr "produit" -#: .\api\models.py:403 +#: api/models.py:511 msgid "thumbnail" msgstr "aperçu" -#: .\api\models.py:413 .\api\models.py:642 .\api\models.py:648 +#: api/models.py:521 api/models.py:798 api/models.py:804 msgid "Pending" msgstr "En attente" -#: .\api\models.py:414 +#: api/models.py:522 msgid "Quote done" msgstr "Devis réalisé" -#: .\api\models.py:415 +#: api/models.py:523 msgid "Ready" msgstr "A traiter" -#: .\api\models.py:416 .\api\models.py:649 +#: api/models.py:524 api/models.py:805 msgid "In extract" msgstr "Dans Extract" -#: .\api\models.py:417 +#: api/models.py:525 msgid "Partially delivered" msgstr "Partiellement traité" -#: .\api\models.py:418 .\api\models.py:650 +#: api/models.py:526 api/models.py:806 msgid "Processed" msgstr "Traité" -#: .\api\models.py:419 .\api\models.py:651 +#: api/models.py:527 api/models.py:807 msgid "Archived" msgstr "Archivé" -#: .\api\models.py:420 .\api\models.py:652 +#: api/models.py:528 api/models.py:808 msgid "Rejected" msgstr "Rejeté" -#: .\api\models.py:422 +#: api/models.py:531 msgid "title" msgstr "titre" -#: .\api\models.py:425 +#: api/models.py:536 msgid "Title contains forbidden characters" msgstr "Le titre contient des caractères spéciaux interdits." -#: .\api\models.py:428 +#: api/models.py:540 msgid "description" msgstr "description" -#: .\api\models.py:430 +#: api/models.py:542 msgid "processing_fee" msgstr "taxe de base" -#: .\api\models.py:432 +#: api/models.py:550 msgid "total_without_vat" msgstr "total sans TVA" -#: .\api\models.py:434 +#: api/models.py:558 msgid "part_vat" msgstr "dont TVA" -#: .\api\models.py:436 +#: api/models.py:566 msgid "total_with_vat" msgstr "total avec TVA" -#: .\api\models.py:438 .\api\models.py:834 +#: api/models.py:575 api/models.py:1048 msgid "client" msgstr "client" -#: .\api\models.py:442 +#: api/models.py:580 msgid "invoice_contact" msgstr "facture" -#: .\api\models.py:447 +#: api/models.py:586 msgid "invoice_reference" msgstr "référence" -#: .\api\models.py:448 +#: api/models.py:589 msgid "email_deliver" msgstr "email de livraison" -#: .\api\models.py:449 +#: api/models.py:592 msgid "order_type" msgstr "type de commande" -#: .\api\models.py:452 +#: api/models.py:595 +#, fuzzy +#| msgid "price_status" +msgid "order_status" +msgstr "statut du prix" + +#: api/models.py:600 msgid "date_ordered" msgstr "date de commande" -#: .\api\models.py:453 +#: api/models.py:601 msgid "date_downloaded" msgstr "date de téléchargement" -#: .\api\models.py:454 +#: api/models.py:602 msgid "date_processed" msgstr "date de traitement" -#: .\api\models.py:456 +#: api/models.py:604 msgid "download_guid" msgstr "GUID de téléchargement" -#: .\api\models.py:461 .\api\models.py:476 .\api\models.py:655 -#: .\api\serializers.py:312 +#: api/models.py:609 api/models.py:624 api/models.py:814 api/serializers.py:316 msgid "order" msgstr "commande" -#: .\api\models.py:471 +#: api/models.py:619 msgid "Geoshop - Quote requested" msgstr "Geoshop - Devis demandé" -#: .\api\models.py:474 +#: api/models.py:622 msgid "A new quote has been requested:" msgstr "" "Un devis a été demandé. Il s'agit soit d'un produit dont la tarification est " @@ -555,151 +565,155 @@ msgstr "" "contact n'est pas encore défini comme tel dans l'admin. Il faut contrôler et " "renseigner les prix manuellement dans l'admin du geoshop. Détails:" -#: .\api\models.py:511 +#: api/models.py:659 msgid "Geoshop - Quote has been done" msgstr "Geoshop - Devis réalisé" -#: .\api\models.py:605 +#: api/models.py:761 msgid "Geoshop - Download ready" msgstr "Geoshop - Commande traitée" -#: .\api\models.py:643 +#: api/models.py:799 msgid "Calculated" msgstr "calculé" -#: .\api\models.py:644 +#: api/models.py:800 msgid "Imported" msgstr "importé" -#: .\api\models.py:647 +#: api/models.py:803 msgid "Validation pending" msgstr "En attente de validation" -#: .\api\models.py:660 +#: api/models.py:824 msgid "srid" msgstr "SRID" -#: .\api\models.py:661 +#: api/models.py:825 msgid "last_download" msgstr "date du dernier téléchargement" -#: .\api\models.py:662 +#: api/models.py:826 msgid "validation_date" msgstr "Date de validation" -#: .\api\models.py:664 +#: api/models.py:828 msgid "price_status" msgstr "statut du prix" -#: .\api\models.py:672 +#: api/models.py:834 +msgid "status" +msgstr "statut" + +#: api/models.py:858 msgid "comment" msgstr "Remarques" -#: .\api\models.py:673 +#: api/models.py:859 msgid "token" msgstr "jeton" -#: .\api\models.py:678 +#: api/models.py:863 msgid "order_item" msgstr "produit commandé" -#: .\api\models.py:776 +#: api/models.py:980 msgid "Geoshop - Validation requested" msgstr "Geoshop - Validation demandée" -#: .\api\models.py:805 +#: api/models.py:1007 msgid "db_name" msgstr "nom de la bd" -#: .\api\models.py:806 +#: api/models.py:1008 msgid "export_name" msgstr "nom d'export" -#: .\api\models.py:808 +#: api/models.py:1010 msgid "field_type" msgstr "type de champ" -#: .\api\models.py:809 +#: api/models.py:1013 msgid "field_length" msgstr "longueur du champ" -#: .\api\models.py:814 +#: api/models.py:1021 msgid "product_field" msgstr "attribut" -#: .\api\models.py:822 +#: api/models.py:1035 msgid "is_manual" msgstr "traitement manuel" -#: .\api\models.py:827 +#: api/models.py:1040 msgid "product_format" msgstr "Relation format - produit" -#: .\api\models.py:844 +#: api/models.py:1064 msgid "user_change" msgstr "changement d'un utilisateur" -#: .\api\pricing.py:34 +#: api/pricing.py:34 msgid "Geoshop - Error, pricing is not defined" msgstr "Geoshop - Erreur, tarification inconnue" -#: .\api\pricing.py:37 +#: api/pricing.py:37 msgid "{} is not defined in pricing module." msgstr "{} n'est pas définie dans le module pricing." -#: .\api\pricing.py:94 +#: api/pricing.py:94 msgid "Geoshop - Error, pricing has no geometries linked to it" msgstr "Geoshop - Erreur, la tarification n'a pas de géométrie associée" -#: .\api\pricing.py:98 +#: api/pricing.py:98 msgid "The pricing \"{}\" is defined but no geometries were found for it." msgstr "" "La tarification \"{}\" existe mais aucune couche géométrique n'a été trouvée " "pour le calcul." -#: .\api\serializers.py:67 +#: api/serializers.py:70 msgid "" "Invalid format: string or unicode input unrecognized as GeoJSON, WKT EWKT or " "HEXEWKB." msgstr "Format invalide: GeoJSON, WKT EWKT ou HEXEWKB non reconnu." -#: .\api\serializers.py:72 +#: api/serializers.py:75 msgid "Unable to convert to python object: {}" msgstr "Impossible à convertir en objet Python" -#: .\api\serializers.py:307 +#: api/serializers.py:311 msgid "Geoshop - Invalid geometry" msgstr "Geoshop - Géométrie invalide" -#: .\api\serializers.py:310 +#: api/serializers.py:314 msgid "A new order has been submitted and its geometry is invalid:" msgstr "Une nouvelle commande a été soumise et sa géométrie est invalide:" -#: .\api\serializers.py:634 +#: api/serializers.py:638 msgid "The two password fields didn't match." msgstr "Les deux mots de passe ne correspondent pas" -#: .\api\templates\admin\api\order_change_form.html:7 +#: api/templates/admin/api/order_change_form.html:7 msgid "Reset order for Extract" msgstr "Renvoyer l'entier de la commande à Extract" -#: .\api\templates\admin\api\order_change_form.html:8 +#: api/templates/admin/api/order_change_form.html:8 msgid "Send quote to client" msgstr "Envoyer le devis au client" -#: .\api\templates\admin\api\user_change_form.html:7 +#: api/templates/admin/api/user_change_form.html:7 msgid "Send confirmation email to client" msgstr "Envoyer un email de confirmation au client" -#: .\api\templates\email_admin_fr-ch.html:4 +#: api/templates/email_admin_fr-ch.html:4 msgid "Dear administrator," msgstr "Hello l'admin du géoshop," -#: .\api\templates\email_base_template.html:92 +#: api/templates/email_base_template.html:92 msgid "Dear user," msgstr "Bonjour," -#: .\api\templates\email_base_template.html:103 +#: api/templates/email_base_template.html:103 msgid "" "This is an automated email, please do not reply. For any question, feel free " "to contact us at" @@ -707,7 +721,7 @@ msgstr "" "Ceci est un email automatique, prière de ne pas y répondre. Pour toute " "question ou information supplémentaire, n'hésitez pas à nous contacter à" -#: .\api\templates\email_password_reset.html:4 +#: api/templates/email_password_reset.html:4 #, python-format msgid "" "You're receiving this email because you requested a password reset for your " @@ -716,66 +730,66 @@ msgstr "" "Vous recevez cet email car vous avez demandé une modification de mot de " "passe sur %(site_name)s." -#: .\api\templates\email_password_reset.html:6 +#: api/templates/email_password_reset.html:6 msgid "Please go to the following page and choose a new password:" msgstr "Cliquez sur ce lien pour mettre à jour votre mot de passe:" -#: .\api\templates\email_password_reset.html:10 +#: api/templates/email_password_reset.html:10 msgid "Your username, in case you’ve forgotten:" msgstr "Votre nom d'utilisateur est:" -#: .\api\views.py:201 +#: api/views.py:212 msgid "This orderitem cannot be deleted anymore." msgstr "Ce produit ne peut plus être enlevé du panier." -#: .\api\views.py:221 .\api\views.py:594 +#: api/views.py:232 api/views.py:608 msgid "Zip does not exist" msgstr "Le fichier zip n'existe pas" -#: .\api\views.py:286 +#: api/views.py:297 msgid "This order cannot be deleted anymore." msgstr "Cette commande ne peut pas être annulée." -#: .\api\views.py:333 +#: api/views.py:344 msgid "Full zip is not ready" msgstr "Le zip contenant l'ensemble des fichiers n'est pas encore prêt." -#: .\api\views.py:418 +#: api/views.py:432 msgid "Password reset e-mail has been sent." msgstr "L'email pour la réinitialisation du mot de passe a été envoyé" -#: .\api\views.py:445 +#: api/views.py:459 msgid "Password has been reset with the new password." msgstr "Votre nouveau mot de passe est sauvegardé" -#: .\api\views.py:503 +#: api/views.py:517 msgid "Geoshop - New user request" msgstr "Geoshop - Nouvel utilisateur à valider" -#: .\api\views.py:506 +#: api/views.py:520 msgid "A new user account needs to be validated:" msgstr "Un nouveau compte utilisateur est en attente de validation." -#: .\api\views.py:512 +#: api/views.py:526 msgid "Geoshop - New account pending" msgstr "Geoshop - Nouveau compte en attente" -#: .\api\views.py:518 .\api\views.py:643 +#: api/views.py:532 api/views.py:657 msgid "Your data was successfully submitted" msgstr "Vos données ont été correctement soumises" -#: .\api\views.py:627 +#: api/views.py:641 msgid "Geoshop - User change request" msgstr "Geoshop - Demande de modifications de la part d'un utilisateur" -#: .\api\views.py:631 +#: api/views.py:645 msgid "The user {} has requested some changes for his user profile." msgstr "{} a fait une demande de modification de son profil." -#: .\api\views.py:637 +#: api/views.py:651 msgid "Geoshop - Your changes request" msgstr "Geoshop - Votre demande de modification" -#: .\api\views.py:660 +#: api/views.py:674 msgid "ok" msgstr "ok" diff --git a/api/locale/it/LC_MESSAGES/django.po b/api/locale/it/LC_MESSAGES/django.po new file mode 100644 index 00000000..44a58a3a --- /dev/null +++ b/api/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,774 @@ +# 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 , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-17 17:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \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" +#: api/admin.py:129 +msgid "Invoice contact does not belong to the client of this order!" +msgstr "" + +#: api/admin.py:175 +msgid "All the items have been submitted to Extract again." +msgstr "" + +#: api/admin.py:185 +msgid "Quote has been successfully done and an email has been sent to client" +msgstr "" + +#: api/admin.py:189 +msgid "Order prices cannot be calculated! Client will not be notified!" +msgstr "" + +#: api/admin.py:231 +msgid "Permissions" +msgstr "" + +#: api/admin.py:234 +msgid "Important dates" +msgstr "" + +#: api/admin.py:252 +msgid "Registration confirmation" +msgstr "" + +#: api/admin.py:256 +msgid "Your account has been registered successfully." +msgstr "" + +#: api/admin.py:263 +msgid "User is registered and an email has been sent to client" +msgstr "" + +#: api/admin.py:267 +msgid "User is not active yet! Client will not be notified!" +msgstr "" + +#: api/filters.py:20 +msgid "Search" +msgstr "" + +#: api/filters.py:21 +msgid "A search term." +msgstr "" + +#: api/models.py:31 +msgid "first_name" +msgstr "" + +#: api/models.py:32 +msgid "last_name" +msgstr "" + +#: api/models.py:33 +msgid "email" +msgstr "" + +#: api/models.py:34 +msgid "street" +msgstr "" + +#: api/models.py:35 +msgid "street2" +msgstr "" + +#: api/models.py:36 +msgid "postcode" +msgstr "" + +#: api/models.py:37 +msgid "city" +msgstr "" + +#: api/models.py:38 +msgid "country" +msgstr "" + +#: api/models.py:39 +msgid "company_name" +msgstr "" + +#: api/models.py:40 +msgid "phone" +msgstr "" + +#: api/models.py:58 +msgid "belongs_to" +msgstr "" + +#: api/models.py:60 api/models.py:133 +msgid "sap_id" +msgstr "" + +#: api/models.py:61 api/models.py:148 +msgid "subscribed" +msgstr "" + +#: api/models.py:62 +msgid "is_active" +msgstr "" + +#: api/models.py:66 +msgid "contact" +msgstr "" + +#: api/models.py:74 api/models.py:215 +msgid "copyright" +msgstr "" + +#: api/models.py:85 api/models.py:99 api/models.py:110 api/models.py:184 +#: api/models.py:326 api/models.py:394 +msgid "name" +msgstr "" + +#: api/models.py:87 api/models.py:625 +msgid "link" +msgstr "" + +#: api/models.py:87 +msgid "Please complete the above URL" +msgstr "" + +#: api/models.py:92 +msgid "document" +msgstr "" + +#: api/models.py:103 api/models.py:822 api/models.py:1032 +msgid "data_format" +msgstr "" + +#: api/models.py:114 +msgid "order type" +msgstr "" + +#: api/models.py:115 +msgid "order types" +msgstr "" + +#: api/models.py:129 +msgid "user" +msgstr "" + +#: api/models.py:135 api/models.py:1050 +msgid "ide_number" +msgstr "" + +#: api/models.py:142 api/models.py:1057 +msgid "IDE number is not valid" +msgstr "" + +#: api/models.py:146 +msgid "contract_accepted" +msgstr "" + +#: api/models.py:147 +msgid "is_public" +msgstr "" + +#: api/models.py:149 +msgid "birthday" +msgstr "" + +#: api/models.py:153 +msgid "identity" +msgstr "" + +#: api/models.py:161 +msgid "notation" +msgstr "" + +#: api/models.py:162 +msgid "description_fr" +msgstr "" + +#: api/models.py:166 +msgid "metadata_category_ech" +msgstr "" + +#: api/models.py:178 +msgid "Public" +msgstr "" + +#: api/models.py:179 +msgid "Approval needed" +msgstr "" + +#: api/models.py:180 +msgid "Not accessible" +msgstr "" + +#: api/models.py:181 +msgid "Internal" +msgstr "" + +#: api/models.py:183 +msgid "id_name" +msgstr "" + +#: api/models.py:188 +msgid "ech_category" +msgstr "" + +#: api/models.py:192 +msgid "description_long" +msgstr "" + +#: api/models.py:193 +msgid "genealogy" +msgstr "" + +#: api/models.py:195 +msgid "datasource" +msgstr "" + +#: api/models.py:198 +msgid "accessibility" +msgstr "" + +#: api/models.py:203 +msgid "scale" +msgstr "" + +#: api/models.py:204 +msgid "geocat_link" +msgstr "" + +#: api/models.py:205 +msgid "legend_link" +msgstr "" + +#: api/models.py:207 +msgid "image_link" +msgstr "" + +#: api/models.py:212 +msgid "wms_link" +msgstr "" + +#: api/models.py:213 +msgid "geoportal_link" +msgstr "" + +#: api/models.py:218 +msgid "documents" +msgstr "" + +#: api/models.py:222 +msgid "contact_persons" +msgstr "" + +#: api/models.py:230 +msgid "modified_user" +msgstr "" + +#: api/models.py:234 +msgid "data_last_update_date" +msgstr "" + +#: api/models.py:237 +msgid "update_frequency" +msgstr "" + +#: api/models.py:242 api/models.py:287 api/models.py:441 +msgid "metadata" +msgstr "" + +#: api/models.py:246 +msgid "Can view metadata with accessibility set to \"internal\"" +msgstr "" + +#: api/models.py:270 +msgid "legend" +msgstr "" + +#: api/models.py:279 +msgid "image" +msgstr "" + +#: api/models.py:291 +msgid "contact_person" +msgstr "" + +#: api/models.py:294 +msgid "role" +msgstr "" + +#: api/models.py:294 +msgid "Manager" +msgstr "" + +#: api/models.py:295 +msgid "is_validator" +msgstr "" + +#: api/models.py:299 +msgid "metadata_contact" +msgstr "" + +#: api/models.py:316 +msgid "Free" +msgstr "" + +#: api/models.py:317 +msgid "Single" +msgstr "" + +#: api/models.py:318 +msgid "By number of objects" +msgstr "" + +#: api/models.py:319 +msgid "By area" +msgstr "" + +#: api/models.py:320 +msgid "From a pricing layer" +msgstr "" + +#: api/models.py:322 +msgid "From children products of this group" +msgstr "" + +#: api/models.py:324 +msgid "Manual" +msgstr "" + +#: api/models.py:328 +msgid "pricing_type" +msgstr "" + +#: api/models.py:331 api/models.py:848 +msgid "base_fee" +msgstr "" + +#: api/models.py:339 +msgid "min_price" +msgstr "" + +#: api/models.py:347 +msgid "max_price" +msgstr "" + +#: api/models.py:355 +msgid "unit_price" +msgstr "" + +#: api/models.py:365 api/models.py:404 api/models.py:476 +msgid "pricing" +msgstr "" + +#: api/models.py:396 api/models.py:840 +msgid "price" +msgstr "" + +#: api/models.py:402 api/models.py:487 api/models.py:573 +msgid "geom" +msgstr "" + +#: api/models.py:409 +msgid "pricing_layer" +msgstr "" + +#: api/models.py:431 api/models.py:520 +msgid "Draft" +msgstr "" + +#: api/models.py:432 +msgid "Published" +msgstr "" + +#: api/models.py:434 +msgid "Published only in group" +msgstr "" + +#: api/models.py:436 +msgid "Deprecated" +msgstr "" + +#: api/models.py:446 +msgid "label" +msgstr "" + +#: api/models.py:452 +msgid "Label contains forbidden characters" +msgstr "" + +#: api/models.py:457 +msgid "product_status" +msgstr "" + +#: api/models.py:465 +msgid "group" +msgstr "" + +#: api/models.py:473 +msgid "provider" +msgstr "" + +#: api/models.py:477 +msgid "free_when_subscribed" +msgstr "" + +#: api/models.py:478 +msgid "order_index" +msgstr "" + +#: api/models.py:480 +msgid "thumbnail_link" +msgstr "" + +#: api/models.py:494 api/models.py:819 api/models.py:1016 api/models.py:1028 +msgid "product" +msgstr "" + +#: api/models.py:511 +msgid "thumbnail" +msgstr "" + +#: api/models.py:521 api/models.py:798 api/models.py:804 +msgid "Pending" +msgstr "" + +#: api/models.py:522 +msgid "Quote done" +msgstr "" + +#: api/models.py:523 +msgid "Ready" +msgstr "" + +#: api/models.py:524 api/models.py:805 +msgid "In extract" +msgstr "" + +#: api/models.py:525 +msgid "Partially delivered" +msgstr "" + +#: api/models.py:526 api/models.py:806 +msgid "Processed" +msgstr "" + +#: api/models.py:527 api/models.py:807 +msgid "Archived" +msgstr "" + +#: api/models.py:528 api/models.py:808 +msgid "Rejected" +msgstr "" + +#: api/models.py:531 +msgid "title" +msgstr "" + +#: api/models.py:536 +msgid "Title contains forbidden characters" +msgstr "" + +#: api/models.py:540 +msgid "description" +msgstr "" + +#: api/models.py:542 +msgid "processing_fee" +msgstr "" + +#: api/models.py:550 +msgid "total_without_vat" +msgstr "" + +#: api/models.py:558 +msgid "part_vat" +msgstr "" + +#: api/models.py:566 +msgid "total_with_vat" +msgstr "" + +#: api/models.py:575 api/models.py:1048 +msgid "client" +msgstr "" + +#: api/models.py:580 +msgid "invoice_contact" +msgstr "" + +#: api/models.py:586 +msgid "invoice_reference" +msgstr "" + +#: api/models.py:589 +msgid "email_deliver" +msgstr "" + +#: api/models.py:592 +msgid "order_type" +msgstr "" + +#: api/models.py:595 +msgid "order_status" +msgstr "" + +#: api/models.py:600 +msgid "date_ordered" +msgstr "" + +#: api/models.py:601 +msgid "date_downloaded" +msgstr "" + +#: api/models.py:602 +msgid "date_processed" +msgstr "" + +#: api/models.py:604 +msgid "download_guid" +msgstr "" + +#: api/models.py:609 api/models.py:624 api/models.py:814 api/serializers.py:316 +msgid "order" +msgstr "" + +#: api/models.py:619 +msgid "Geoshop - Quote requested" +msgstr "" + +#: api/models.py:622 +msgid "A new quote has been requested:" +msgstr "" + +#: api/models.py:659 +msgid "Geoshop - Quote has been done" +msgstr "" + +#: api/models.py:761 +msgid "Geoshop - Download ready" +msgstr "" + +#: api/models.py:799 +msgid "Calculated" +msgstr "" + +#: api/models.py:800 +msgid "Imported" +msgstr "" + +#: api/models.py:803 +msgid "Validation pending" +msgstr "" + +#: api/models.py:824 +msgid "srid" +msgstr "" + +#: api/models.py:825 +msgid "last_download" +msgstr "" + +#: api/models.py:826 +msgid "validation_date" +msgstr "" + +#: api/models.py:828 +msgid "price_status" +msgstr "" + +#: api/models.py:834 +msgid "status" +msgstr "" + +#: api/models.py:858 +msgid "comment" +msgstr "" + +#: api/models.py:859 +msgid "token" +msgstr "" + +#: api/models.py:863 +msgid "order_item" +msgstr "" + +#: api/models.py:980 +msgid "Geoshop - Validation requested" +msgstr "" + +#: api/models.py:1007 +msgid "db_name" +msgstr "" + +#: api/models.py:1008 +msgid "export_name" +msgstr "" + +#: api/models.py:1010 +msgid "field_type" +msgstr "" + +#: api/models.py:1013 +msgid "field_length" +msgstr "" + +#: api/models.py:1021 +msgid "product_field" +msgstr "" + +#: api/models.py:1035 +msgid "is_manual" +msgstr "" + +#: api/models.py:1040 +msgid "product_format" +msgstr "" + +#: api/models.py:1064 +msgid "user_change" +msgstr "" + +#: api/pricing.py:34 +msgid "Geoshop - Error, pricing is not defined" +msgstr "" + +#: api/pricing.py:37 +msgid "{} is not defined in pricing module." +msgstr "" + +#: api/pricing.py:94 +msgid "Geoshop - Error, pricing has no geometries linked to it" +msgstr "" + +#: api/pricing.py:98 +msgid "The pricing \"{}\" is defined but no geometries were found for it." +msgstr "" + +#: api/serializers.py:70 +msgid "" +"Invalid format: string or unicode input unrecognized as GeoJSON, WKT EWKT or " +"HEXEWKB." +msgstr "" + +#: api/serializers.py:75 +msgid "Unable to convert to python object: {}" +msgstr "" + +#: api/serializers.py:311 +msgid "Geoshop - Invalid geometry" +msgstr "" + +#: api/serializers.py:314 +msgid "A new order has been submitted and its geometry is invalid:" +msgstr "" + +#: api/serializers.py:638 +msgid "The two password fields didn't match." +msgstr "" + +#: api/templates/admin/api/order_change_form.html:7 +msgid "Reset order for Extract" +msgstr "" + +#: api/templates/admin/api/order_change_form.html:8 +msgid "Send quote to client" +msgstr "" + +#: api/templates/admin/api/user_change_form.html:7 +msgid "Send confirmation email to client" +msgstr "" + +#: api/templates/email_admin_fr-ch.html:4 +msgid "Dear administrator," +msgstr "" + +#: api/templates/email_base_template.html:92 +msgid "Dear user," +msgstr "" + +#: api/templates/email_base_template.html:103 +msgid "" +"This is an automated email, please do not reply. For any question, feel free " +"to contact us at" +msgstr "" + +#: api/templates/email_password_reset.html:4 +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +#: api/templates/email_password_reset.html:6 +msgid "Please go to the following page and choose a new password:" +msgstr "" + +#: api/templates/email_password_reset.html:10 +msgid "Your username, in case you’ve forgotten:" +msgstr "" + +#: api/views.py:212 +msgid "This orderitem cannot be deleted anymore." +msgstr "" + +#: api/views.py:232 api/views.py:608 +msgid "Zip does not exist" +msgstr "" + +#: api/views.py:297 +msgid "This order cannot be deleted anymore." +msgstr "" + +#: api/views.py:344 +msgid "Full zip is not ready" +msgstr "" + +#: api/views.py:432 +msgid "Password reset e-mail has been sent." +msgstr "" + +#: api/views.py:459 +msgid "Password has been reset with the new password." +msgstr "" + +#: api/views.py:517 +msgid "Geoshop - New user request" +msgstr "" + +#: api/views.py:520 +msgid "A new user account needs to be validated:" +msgstr "" + +#: api/views.py:526 +msgid "Geoshop - New account pending" +msgstr "" + +#: api/views.py:532 api/views.py:657 +msgid "Your data was successfully submitted" +msgstr "" + +#: api/views.py:641 +msgid "Geoshop - User change request" +msgstr "" + +#: api/views.py:645 +msgid "The user {} has requested some changes for his user profile." +msgstr "" + +#: api/views.py:651 +msgid "Geoshop - Your changes request" +msgstr "" + +#: api/views.py:674 +msgid "ok" +msgstr "" diff --git a/api/locale/rm/LC_MESSAGES/django.po b/api/locale/rm/LC_MESSAGES/django.po new file mode 100644 index 00000000..cd8c130f --- /dev/null +++ b/api/locale/rm/LC_MESSAGES/django.po @@ -0,0 +1,774 @@ +# 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 , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-17 17:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: api/admin.py:129 +msgid "Invoice contact does not belong to the client of this order!" +msgstr "" + +#: api/admin.py:175 +msgid "All the items have been submitted to Extract again." +msgstr "" + +#: api/admin.py:185 +msgid "Quote has been successfully done and an email has been sent to client" +msgstr "" + +#: api/admin.py:189 +msgid "Order prices cannot be calculated! Client will not be notified!" +msgstr "" + +#: api/admin.py:231 +msgid "Permissions" +msgstr "" + +#: api/admin.py:234 +msgid "Important dates" +msgstr "" + +#: api/admin.py:252 +msgid "Registration confirmation" +msgstr "" + +#: api/admin.py:256 +msgid "Your account has been registered successfully." +msgstr "" + +#: api/admin.py:263 +msgid "User is registered and an email has been sent to client" +msgstr "" + +#: api/admin.py:267 +msgid "User is not active yet! Client will not be notified!" +msgstr "" + +#: api/filters.py:20 +msgid "Search" +msgstr "" + +#: api/filters.py:21 +msgid "A search term." +msgstr "" + +#: api/models.py:31 +msgid "first_name" +msgstr "" + +#: api/models.py:32 +msgid "last_name" +msgstr "" + +#: api/models.py:33 +msgid "email" +msgstr "" + +#: api/models.py:34 +msgid "street" +msgstr "" + +#: api/models.py:35 +msgid "street2" +msgstr "" + +#: api/models.py:36 +msgid "postcode" +msgstr "" + +#: api/models.py:37 +msgid "city" +msgstr "" + +#: api/models.py:38 +msgid "country" +msgstr "" + +#: api/models.py:39 +msgid "company_name" +msgstr "" + +#: api/models.py:40 +msgid "phone" +msgstr "" + +#: api/models.py:58 +msgid "belongs_to" +msgstr "" + +#: api/models.py:60 api/models.py:133 +msgid "sap_id" +msgstr "" + +#: api/models.py:61 api/models.py:148 +msgid "subscribed" +msgstr "" + +#: api/models.py:62 +msgid "is_active" +msgstr "" + +#: api/models.py:66 +msgid "contact" +msgstr "" + +#: api/models.py:74 api/models.py:215 +msgid "copyright" +msgstr "" + +#: api/models.py:85 api/models.py:99 api/models.py:110 api/models.py:184 +#: api/models.py:326 api/models.py:394 +msgid "name" +msgstr "" + +#: api/models.py:87 api/models.py:625 +msgid "link" +msgstr "" + +#: api/models.py:87 +msgid "Please complete the above URL" +msgstr "" + +#: api/models.py:92 +msgid "document" +msgstr "" + +#: api/models.py:103 api/models.py:822 api/models.py:1032 +msgid "data_format" +msgstr "" + +#: api/models.py:114 +msgid "order type" +msgstr "" + +#: api/models.py:115 +msgid "order types" +msgstr "" + +#: api/models.py:129 +msgid "user" +msgstr "" + +#: api/models.py:135 api/models.py:1050 +msgid "ide_number" +msgstr "" + +#: api/models.py:142 api/models.py:1057 +msgid "IDE number is not valid" +msgstr "" + +#: api/models.py:146 +msgid "contract_accepted" +msgstr "" + +#: api/models.py:147 +msgid "is_public" +msgstr "" + +#: api/models.py:149 +msgid "birthday" +msgstr "" + +#: api/models.py:153 +msgid "identity" +msgstr "" + +#: api/models.py:161 +msgid "notation" +msgstr "" + +#: api/models.py:162 +msgid "description_fr" +msgstr "" + +#: api/models.py:166 +msgid "metadata_category_ech" +msgstr "" + +#: api/models.py:178 +msgid "Public" +msgstr "" + +#: api/models.py:179 +msgid "Approval needed" +msgstr "" + +#: api/models.py:180 +msgid "Not accessible" +msgstr "" + +#: api/models.py:181 +msgid "Internal" +msgstr "" + +#: api/models.py:183 +msgid "id_name" +msgstr "" + +#: api/models.py:188 +msgid "ech_category" +msgstr "" + +#: api/models.py:192 +msgid "description_long" +msgstr "" + +#: api/models.py:193 +msgid "genealogy" +msgstr "" + +#: api/models.py:195 +msgid "datasource" +msgstr "" + +#: api/models.py:198 +msgid "accessibility" +msgstr "" + +#: api/models.py:203 +msgid "scale" +msgstr "" + +#: api/models.py:204 +msgid "geocat_link" +msgstr "" + +#: api/models.py:205 +msgid "legend_link" +msgstr "" + +#: api/models.py:207 +msgid "image_link" +msgstr "" + +#: api/models.py:212 +msgid "wms_link" +msgstr "" + +#: api/models.py:213 +msgid "geoportal_link" +msgstr "" + +#: api/models.py:218 +msgid "documents" +msgstr "" + +#: api/models.py:222 +msgid "contact_persons" +msgstr "" + +#: api/models.py:230 +msgid "modified_user" +msgstr "" + +#: api/models.py:234 +msgid "data_last_update_date" +msgstr "" + +#: api/models.py:237 +msgid "update_frequency" +msgstr "" + +#: api/models.py:242 api/models.py:287 api/models.py:441 +msgid "metadata" +msgstr "" + +#: api/models.py:246 +msgid "Can view metadata with accessibility set to \"internal\"" +msgstr "" + +#: api/models.py:270 +msgid "legend" +msgstr "" + +#: api/models.py:279 +msgid "image" +msgstr "" + +#: api/models.py:291 +msgid "contact_person" +msgstr "" + +#: api/models.py:294 +msgid "role" +msgstr "" + +#: api/models.py:294 +msgid "Manager" +msgstr "" + +#: api/models.py:295 +msgid "is_validator" +msgstr "" + +#: api/models.py:299 +msgid "metadata_contact" +msgstr "" + +#: api/models.py:316 +msgid "Free" +msgstr "" + +#: api/models.py:317 +msgid "Single" +msgstr "" + +#: api/models.py:318 +msgid "By number of objects" +msgstr "" + +#: api/models.py:319 +msgid "By area" +msgstr "" + +#: api/models.py:320 +msgid "From a pricing layer" +msgstr "" + +#: api/models.py:322 +msgid "From children products of this group" +msgstr "" + +#: api/models.py:324 +msgid "Manual" +msgstr "" + +#: api/models.py:328 +msgid "pricing_type" +msgstr "" + +#: api/models.py:331 api/models.py:848 +msgid "base_fee" +msgstr "" + +#: api/models.py:339 +msgid "min_price" +msgstr "" + +#: api/models.py:347 +msgid "max_price" +msgstr "" + +#: api/models.py:355 +msgid "unit_price" +msgstr "" + +#: api/models.py:365 api/models.py:404 api/models.py:476 +msgid "pricing" +msgstr "" + +#: api/models.py:396 api/models.py:840 +msgid "price" +msgstr "" + +#: api/models.py:402 api/models.py:487 api/models.py:573 +msgid "geom" +msgstr "" + +#: api/models.py:409 +msgid "pricing_layer" +msgstr "" + +#: api/models.py:431 api/models.py:520 +msgid "Draft" +msgstr "" + +#: api/models.py:432 +msgid "Published" +msgstr "" + +#: api/models.py:434 +msgid "Published only in group" +msgstr "" + +#: api/models.py:436 +msgid "Deprecated" +msgstr "" + +#: api/models.py:446 +msgid "label" +msgstr "" + +#: api/models.py:452 +msgid "Label contains forbidden characters" +msgstr "" + +#: api/models.py:457 +msgid "product_status" +msgstr "" + +#: api/models.py:465 +msgid "group" +msgstr "" + +#: api/models.py:473 +msgid "provider" +msgstr "" + +#: api/models.py:477 +msgid "free_when_subscribed" +msgstr "" + +#: api/models.py:478 +msgid "order_index" +msgstr "" + +#: api/models.py:480 +msgid "thumbnail_link" +msgstr "" + +#: api/models.py:494 api/models.py:819 api/models.py:1016 api/models.py:1028 +msgid "product" +msgstr "" + +#: api/models.py:511 +msgid "thumbnail" +msgstr "" + +#: api/models.py:521 api/models.py:798 api/models.py:804 +msgid "Pending" +msgstr "" + +#: api/models.py:522 +msgid "Quote done" +msgstr "" + +#: api/models.py:523 +msgid "Ready" +msgstr "" + +#: api/models.py:524 api/models.py:805 +msgid "In extract" +msgstr "" + +#: api/models.py:525 +msgid "Partially delivered" +msgstr "" + +#: api/models.py:526 api/models.py:806 +msgid "Processed" +msgstr "" + +#: api/models.py:527 api/models.py:807 +msgid "Archived" +msgstr "" + +#: api/models.py:528 api/models.py:808 +msgid "Rejected" +msgstr "" + +#: api/models.py:531 +msgid "title" +msgstr "" + +#: api/models.py:536 +msgid "Title contains forbidden characters" +msgstr "" + +#: api/models.py:540 +msgid "description" +msgstr "" + +#: api/models.py:542 +msgid "processing_fee" +msgstr "" + +#: api/models.py:550 +msgid "total_without_vat" +msgstr "" + +#: api/models.py:558 +msgid "part_vat" +msgstr "" + +#: api/models.py:566 +msgid "total_with_vat" +msgstr "" + +#: api/models.py:575 api/models.py:1048 +msgid "client" +msgstr "" + +#: api/models.py:580 +msgid "invoice_contact" +msgstr "" + +#: api/models.py:586 +msgid "invoice_reference" +msgstr "" + +#: api/models.py:589 +msgid "email_deliver" +msgstr "" + +#: api/models.py:592 +msgid "order_type" +msgstr "" + +#: api/models.py:595 +msgid "order_status" +msgstr "" + +#: api/models.py:600 +msgid "date_ordered" +msgstr "" + +#: api/models.py:601 +msgid "date_downloaded" +msgstr "" + +#: api/models.py:602 +msgid "date_processed" +msgstr "" + +#: api/models.py:604 +msgid "download_guid" +msgstr "" + +#: api/models.py:609 api/models.py:624 api/models.py:814 api/serializers.py:316 +msgid "order" +msgstr "" + +#: api/models.py:619 +msgid "Geoshop - Quote requested" +msgstr "" + +#: api/models.py:622 +msgid "A new quote has been requested:" +msgstr "" + +#: api/models.py:659 +msgid "Geoshop - Quote has been done" +msgstr "" + +#: api/models.py:761 +msgid "Geoshop - Download ready" +msgstr "" + +#: api/models.py:799 +msgid "Calculated" +msgstr "" + +#: api/models.py:800 +msgid "Imported" +msgstr "" + +#: api/models.py:803 +msgid "Validation pending" +msgstr "" + +#: api/models.py:824 +msgid "srid" +msgstr "" + +#: api/models.py:825 +msgid "last_download" +msgstr "" + +#: api/models.py:826 +msgid "validation_date" +msgstr "" + +#: api/models.py:828 +msgid "price_status" +msgstr "" + +#: api/models.py:834 +msgid "status" +msgstr "" + +#: api/models.py:858 +msgid "comment" +msgstr "" + +#: api/models.py:859 +msgid "token" +msgstr "" + +#: api/models.py:863 +msgid "order_item" +msgstr "" + +#: api/models.py:980 +msgid "Geoshop - Validation requested" +msgstr "" + +#: api/models.py:1007 +msgid "db_name" +msgstr "" + +#: api/models.py:1008 +msgid "export_name" +msgstr "" + +#: api/models.py:1010 +msgid "field_type" +msgstr "" + +#: api/models.py:1013 +msgid "field_length" +msgstr "" + +#: api/models.py:1021 +msgid "product_field" +msgstr "" + +#: api/models.py:1035 +msgid "is_manual" +msgstr "" + +#: api/models.py:1040 +msgid "product_format" +msgstr "" + +#: api/models.py:1064 +msgid "user_change" +msgstr "" + +#: api/pricing.py:34 +msgid "Geoshop - Error, pricing is not defined" +msgstr "" + +#: api/pricing.py:37 +msgid "{} is not defined in pricing module." +msgstr "" + +#: api/pricing.py:94 +msgid "Geoshop - Error, pricing has no geometries linked to it" +msgstr "" + +#: api/pricing.py:98 +msgid "The pricing \"{}\" is defined but no geometries were found for it." +msgstr "" + +#: api/serializers.py:70 +msgid "" +"Invalid format: string or unicode input unrecognized as GeoJSON, WKT EWKT or " +"HEXEWKB." +msgstr "" + +#: api/serializers.py:75 +msgid "Unable to convert to python object: {}" +msgstr "" + +#: api/serializers.py:311 +msgid "Geoshop - Invalid geometry" +msgstr "" + +#: api/serializers.py:314 +msgid "A new order has been submitted and its geometry is invalid:" +msgstr "" + +#: api/serializers.py:638 +msgid "The two password fields didn't match." +msgstr "" + +#: api/templates/admin/api/order_change_form.html:7 +msgid "Reset order for Extract" +msgstr "" + +#: api/templates/admin/api/order_change_form.html:8 +msgid "Send quote to client" +msgstr "" + +#: api/templates/admin/api/user_change_form.html:7 +msgid "Send confirmation email to client" +msgstr "" + +#: api/templates/email_admin_fr-ch.html:4 +msgid "Dear administrator," +msgstr "" + +#: api/templates/email_base_template.html:92 +msgid "Dear user," +msgstr "" + +#: api/templates/email_base_template.html:103 +msgid "" +"This is an automated email, please do not reply. For any question, feel free " +"to contact us at" +msgstr "" + +#: api/templates/email_password_reset.html:4 +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +#: api/templates/email_password_reset.html:6 +msgid "Please go to the following page and choose a new password:" +msgstr "" + +#: api/templates/email_password_reset.html:10 +msgid "Your username, in case you’ve forgotten:" +msgstr "" + +#: api/views.py:212 +msgid "This orderitem cannot be deleted anymore." +msgstr "" + +#: api/views.py:232 api/views.py:608 +msgid "Zip does not exist" +msgstr "" + +#: api/views.py:297 +msgid "This order cannot be deleted anymore." +msgstr "" + +#: api/views.py:344 +msgid "Full zip is not ready" +msgstr "" + +#: api/views.py:432 +msgid "Password reset e-mail has been sent." +msgstr "" + +#: api/views.py:459 +msgid "Password has been reset with the new password." +msgstr "" + +#: api/views.py:517 +msgid "Geoshop - New user request" +msgstr "" + +#: api/views.py:520 +msgid "A new user account needs to be validated:" +msgstr "" + +#: api/views.py:526 +msgid "Geoshop - New account pending" +msgstr "" + +#: api/views.py:532 api/views.py:657 +msgid "Your data was successfully submitted" +msgstr "" + +#: api/views.py:641 +msgid "Geoshop - User change request" +msgstr "" + +#: api/views.py:645 +msgid "The user {} has requested some changes for his user profile." +msgstr "" + +#: api/views.py:651 +msgid "Geoshop - Your changes request" +msgstr "" + +#: api/views.py:674 +msgid "ok" +msgstr "" diff --git a/default_settings.py b/default_settings.py index d1943f3d..34a96d8a 100644 --- a/default_settings.py +++ b/default_settings.py @@ -1,5 +1,6 @@ import os from dotenv import load_dotenv +from django.utils.translation import gettext_lazy as _ load_dotenv() @@ -130,14 +131,22 @@ # Internationalization # https://docs.djangoproject.com/en/3.0/topics/i18n/ -LANGUAGE_CODE = 'fr-ch' # TODO make this configurable +LANGUAGE_CODE = 'en' # TODO make this configurable DEFAULT_CURRENCY = 'CHF' LOCALE_PATHS = [ - './conf/locale', './api/locale', + './locale', ] +LANGUAGES = ( + ('de', _('German')), + ('it', _('Italian')), + ('fr', _('French')), # TODO is not needed as it is default + ('en', _('English')), + ('rm', _('Romansh')), +) + TIME_ZONE = 'Europe/Zurich' DATE_FORMAT = '%d.%m.%Y' USE_I18N = True diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po new file mode 100644 index 00000000..81f513a0 --- /dev/null +++ b/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,46 @@ +# 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 , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-17 17:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \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" +#: default_settings.py:144 settings.py:144 +msgid "German" +msgstr "" + +#: default_settings.py:145 settings.py:145 +msgid "Italian" +msgstr "" + +#: default_settings.py:146 settings.py:146 +msgid "French" +msgstr "" + +#: default_settings.py:147 settings.py:147 +msgid "English" +msgstr "" + +#: default_settings.py:148 settings.py:148 +msgid "Romansh" +msgstr "" + +#: urls.py:18 +msgid "GeoShop Administration" +msgstr "" + +#: urls.py:19 +msgid "GeoShop Admin" +msgstr "" diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po new file mode 100644 index 00000000..81f513a0 --- /dev/null +++ b/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,46 @@ +# 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 , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-17 17:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \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" +#: default_settings.py:144 settings.py:144 +msgid "German" +msgstr "" + +#: default_settings.py:145 settings.py:145 +msgid "Italian" +msgstr "" + +#: default_settings.py:146 settings.py:146 +msgid "French" +msgstr "" + +#: default_settings.py:147 settings.py:147 +msgid "English" +msgstr "" + +#: default_settings.py:148 settings.py:148 +msgid "Romansh" +msgstr "" + +#: urls.py:18 +msgid "GeoShop Administration" +msgstr "" + +#: urls.py:19 +msgid "GeoShop Admin" +msgstr "" diff --git a/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po similarity index 60% rename from LC_MESSAGES/django.po rename to locale/fr/LC_MESSAGES/django.po index e9308227..b04d2050 100644 --- a/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-27 13:49+0200\n" +"POT-Creation-Date: 2024-06-17 17:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,11 +17,30 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#: default_settings.py:144 settings.py:144 +msgid "German" +msgstr "" + +#: default_settings.py:145 settings.py:145 +msgid "Italian" +msgstr "" + +#: default_settings.py:146 settings.py:146 +msgid "French" +msgstr "" -#: .\urls.py:16 +#: default_settings.py:147 settings.py:147 +msgid "English" +msgstr "" + +#: default_settings.py:148 settings.py:148 +msgid "Romansh" +msgstr "" + +#: urls.py:18 msgid "GeoShop Administration" -msgstr "Administration du GeoShop" +msgstr "" -#: .\urls.py:17 +#: urls.py:19 msgid "GeoShop Admin" msgstr "" diff --git a/locale/it/LC_MESSAGES/django.po b/locale/it/LC_MESSAGES/django.po new file mode 100644 index 00000000..81f513a0 --- /dev/null +++ b/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,46 @@ +# 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 , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-17 17:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \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" +#: default_settings.py:144 settings.py:144 +msgid "German" +msgstr "" + +#: default_settings.py:145 settings.py:145 +msgid "Italian" +msgstr "" + +#: default_settings.py:146 settings.py:146 +msgid "French" +msgstr "" + +#: default_settings.py:147 settings.py:147 +msgid "English" +msgstr "" + +#: default_settings.py:148 settings.py:148 +msgid "Romansh" +msgstr "" + +#: urls.py:18 +msgid "GeoShop Administration" +msgstr "" + +#: urls.py:19 +msgid "GeoShop Admin" +msgstr "" diff --git a/locale/rm/LC_MESSAGES/django.po b/locale/rm/LC_MESSAGES/django.po new file mode 100644 index 00000000..e8b08f59 --- /dev/null +++ b/locale/rm/LC_MESSAGES/django.po @@ -0,0 +1,46 @@ +# 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 , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-17 17:08+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: default_settings.py:144 settings.py:144 +msgid "German" +msgstr "" + +#: default_settings.py:145 settings.py:145 +msgid "Italian" +msgstr "" + +#: default_settings.py:146 settings.py:146 +msgid "French" +msgstr "" + +#: default_settings.py:147 settings.py:147 +msgid "English" +msgstr "" + +#: default_settings.py:148 settings.py:148 +msgid "Romansh" +msgstr "" + +#: urls.py:18 +msgid "GeoShop Administration" +msgstr "" + +#: urls.py:19 +msgid "GeoShop Admin" +msgstr "" From d5ea5204ace43552d0048e011055a086d4486307 Mon Sep 17 00:00:00 2001 From: Marion Date: Thu, 20 Jun 2024 06:55:57 +0200 Subject: [PATCH 3/6] prepae templates for i18n --- api/helpers.py | 3 +- api/locale/de/LC_MESSAGES/django.po | 96 +++++++++++++++---- api/locale/en/LC_MESSAGES/django.po | 96 +++++++++++++++---- api/locale/fr/LC_MESSAGES/django.po | 95 ++++++++++++++---- api/locale/it/LC_MESSAGES/django.po | 96 +++++++++++++++---- api/locale/rm/LC_MESSAGES/django.po | 95 ++++++++++++++---- ...mail_admin_fr-ch.html => email_admin.html} | 6 +- api/templates/email_base_template.html | 4 +- api/templates/email_download_ready.html | 17 ++++ api/templates/email_download_ready_fr-ch.html | 16 ---- api/templates/email_quote_done.html | 8 ++ api/templates/email_quote_done_fr-ch.html | 7 -- ...ange_fr-ch.html => email_user_change.html} | 11 +-- ...irm_fr-ch.html => email_user_confirm.html} | 7 +- api/templates/email_user_footer.html | 6 ++ api/templates/email_validation_needed.html | 18 ++++ .../email_validation_needed_fr-ch.html | 17 ---- api/templates/email_welcome_user.html | 9 ++ api/templates/email_welcome_user_fr-ch.html | 10 -- api/templates/metadata.html | 2 +- api/templates/metadata_simple.html | 2 +- api/tests/factories.py | 2 +- api/views.py | 2 + default_settings.py | 10 +- locale/de/LC_MESSAGES/django.po | 13 +-- locale/en/LC_MESSAGES/django.po | 13 +-- locale/fr/LC_MESSAGES/django.po | 13 +-- locale/it/LC_MESSAGES/django.po | 13 +-- locale/rm/LC_MESSAGES/django.po | 12 +-- 29 files changed, 517 insertions(+), 182 deletions(-) rename api/templates/{email_admin_fr-ch.html => email_admin.html} (66%) create mode 100644 api/templates/email_download_ready.html delete mode 100644 api/templates/email_download_ready_fr-ch.html create mode 100644 api/templates/email_quote_done.html delete mode 100644 api/templates/email_quote_done_fr-ch.html rename api/templates/{email_user_change_fr-ch.html => email_user_change.html} (70%) rename api/templates/{email_user_confirm_fr-ch.html => email_user_confirm.html} (66%) create mode 100644 api/templates/email_user_footer.html create mode 100644 api/templates/email_validation_needed.html delete mode 100644 api/templates/email_validation_needed_fr-ch.html create mode 100644 api/templates/email_welcome_user.html delete mode 100644 api/templates/email_welcome_user_fr-ch.html diff --git a/api/helpers.py b/api/helpers.py index a678fc73..862cdba1 100644 --- a/api/helpers.py +++ b/api/helpers.py @@ -29,7 +29,8 @@ def __call__(self, _, filename): def _render_email_templates(template_name, template_data): - html_template_name = '{}_{}.html'.format(template_name, LANG) + html_template_name = '{}.html'.format(template_name) + template_data['REPLY_TO_EMAIL'] = settings.REPLY_TO_EMAIL return ( render_to_string(html_template_name, template_data), get_template(html_template_name).render(template_data), diff --git a/api/locale/de/LC_MESSAGES/django.po b/api/locale/de/LC_MESSAGES/django.po index 44a58a3a..f33b2ea9 100644 --- a/api/locale/de/LC_MESSAGES/django.po +++ b/api/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-17 17:08+0200\n" +"POT-Creation-Date: 2024-06-21 12:53+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" + #: api/admin.py:129 msgid "Invoice contact does not belong to the client of this order!" msgstr "" @@ -688,10 +689,14 @@ msgstr "" msgid "Send confirmation email to client" msgstr "" -#: api/templates/email_admin_fr-ch.html:4 +#: api/templates/email_admin.html:4 msgid "Dear administrator," msgstr "" +#: api/templates/email_admin.html:27 +msgid "Cet email vous a été envoyé car vous êtes administrateur du Geoshop." +msgstr "" + #: api/templates/email_base_template.html:92 msgid "Dear user," msgstr "" @@ -702,6 +707,24 @@ msgid "" "to contact us at" msgstr "" +#: api/templates/email_download_ready.html:4 +#, python-format +msgid " L'extraction pour la commande n°%(order_id)s a été réalisée. " +msgstr "" + +#: api/templates/email_download_ready.html:6 +msgid "" +" Connectez-vous sur le géoshop et téléchargez les produits commandés dans la " +"section \"Mes commandes\"\n" +" ou en cliquant directement sur ce lien: " +msgstr "" + +#: api/templates/email_download_ready.html:13 +msgid "" +"Veuillez prendre note que les liens de téléchargement ne sont disponibles " +"que pendant 1 mois." +msgstr "" + #: api/templates/email_password_reset.html:4 #, python-format msgid "" @@ -717,58 +740,99 @@ msgstr "" msgid "Your username, in case you’ve forgotten:" msgstr "" -#: api/views.py:212 +#: api/templates/email_quote_done.html:4 +#, python-format +msgid "Le devis pour la commande n°%(order_id)s a été réalisé." +msgstr "" + +#: api/templates/email_quote_done.html:5 +msgid "" +"Connectez-vous sur le géoshop et confirmez ou annulez votre commande dans la " +"section \\" +msgstr "" + +#: api/templates/email_user_change.html:3 +msgid "" +"\n" +"

Vos demandes de modification de profil ont été envoyées aux " +"administrateurs du Geoshop.

\n" +"

\n" +" Elles seront analysées et reportées dans les jours à venir.\n" +" Vous serez averti par email une fois les modifications " +"effectuées.\n" +"

\n" +msgstr "" + +#: api/templates/email_user_footer.html:4 +msgid "Cet email est adressé à" +msgstr "" + +#: api/templates/email_validation_needed.html:6 +msgid "" +"Votre accord est nécessaire en vue de traiter une commande du géoshop. " +"Cliquez sur ce lien pour valider ou refuser la commande:" +msgstr "" + +#: api/templates/email_welcome_user.html:4 +msgid "Votre demande de création de compte est en cours de vérification." +msgstr "" + +#: api/templates/email_welcome_user.html:5 +msgid "Vous recevrez un email lorsque votre inscription sera validée." +msgstr "" + +#: api/views.py:216 msgid "This orderitem cannot be deleted anymore." msgstr "" -#: api/views.py:232 api/views.py:608 +#: api/views.py:236 api/views.py:614 msgid "Zip does not exist" msgstr "" -#: api/views.py:297 +#: api/views.py:301 msgid "This order cannot be deleted anymore." msgstr "" -#: api/views.py:344 +#: api/views.py:348 msgid "Full zip is not ready" msgstr "" -#: api/views.py:432 +#: api/views.py:436 msgid "Password reset e-mail has been sent." msgstr "" -#: api/views.py:459 +#: api/views.py:463 msgid "Password has been reset with the new password." msgstr "" -#: api/views.py:517 +#: api/views.py:521 msgid "Geoshop - New user request" msgstr "" -#: api/views.py:520 +#: api/views.py:524 msgid "A new user account needs to be validated:" msgstr "" -#: api/views.py:526 +#: api/views.py:532 msgid "Geoshop - New account pending" msgstr "" -#: api/views.py:532 api/views.py:657 +#: api/views.py:538 api/views.py:663 msgid "Your data was successfully submitted" msgstr "" -#: api/views.py:641 +#: api/views.py:647 msgid "Geoshop - User change request" msgstr "" -#: api/views.py:645 +#: api/views.py:651 msgid "The user {} has requested some changes for his user profile." msgstr "" -#: api/views.py:651 +#: api/views.py:657 msgid "Geoshop - Your changes request" msgstr "" -#: api/views.py:674 +#: api/views.py:680 msgid "ok" msgstr "" diff --git a/api/locale/en/LC_MESSAGES/django.po b/api/locale/en/LC_MESSAGES/django.po index 44a58a3a..f33b2ea9 100644 --- a/api/locale/en/LC_MESSAGES/django.po +++ b/api/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-17 17:08+0200\n" +"POT-Creation-Date: 2024-06-21 12:53+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" + #: api/admin.py:129 msgid "Invoice contact does not belong to the client of this order!" msgstr "" @@ -688,10 +689,14 @@ msgstr "" msgid "Send confirmation email to client" msgstr "" -#: api/templates/email_admin_fr-ch.html:4 +#: api/templates/email_admin.html:4 msgid "Dear administrator," msgstr "" +#: api/templates/email_admin.html:27 +msgid "Cet email vous a été envoyé car vous êtes administrateur du Geoshop." +msgstr "" + #: api/templates/email_base_template.html:92 msgid "Dear user," msgstr "" @@ -702,6 +707,24 @@ msgid "" "to contact us at" msgstr "" +#: api/templates/email_download_ready.html:4 +#, python-format +msgid " L'extraction pour la commande n°%(order_id)s a été réalisée. " +msgstr "" + +#: api/templates/email_download_ready.html:6 +msgid "" +" Connectez-vous sur le géoshop et téléchargez les produits commandés dans la " +"section \"Mes commandes\"\n" +" ou en cliquant directement sur ce lien: " +msgstr "" + +#: api/templates/email_download_ready.html:13 +msgid "" +"Veuillez prendre note que les liens de téléchargement ne sont disponibles " +"que pendant 1 mois." +msgstr "" + #: api/templates/email_password_reset.html:4 #, python-format msgid "" @@ -717,58 +740,99 @@ msgstr "" msgid "Your username, in case you’ve forgotten:" msgstr "" -#: api/views.py:212 +#: api/templates/email_quote_done.html:4 +#, python-format +msgid "Le devis pour la commande n°%(order_id)s a été réalisé." +msgstr "" + +#: api/templates/email_quote_done.html:5 +msgid "" +"Connectez-vous sur le géoshop et confirmez ou annulez votre commande dans la " +"section \\" +msgstr "" + +#: api/templates/email_user_change.html:3 +msgid "" +"\n" +"

Vos demandes de modification de profil ont été envoyées aux " +"administrateurs du Geoshop.

\n" +"

\n" +" Elles seront analysées et reportées dans les jours à venir.\n" +" Vous serez averti par email une fois les modifications " +"effectuées.\n" +"

\n" +msgstr "" + +#: api/templates/email_user_footer.html:4 +msgid "Cet email est adressé à" +msgstr "" + +#: api/templates/email_validation_needed.html:6 +msgid "" +"Votre accord est nécessaire en vue de traiter une commande du géoshop. " +"Cliquez sur ce lien pour valider ou refuser la commande:" +msgstr "" + +#: api/templates/email_welcome_user.html:4 +msgid "Votre demande de création de compte est en cours de vérification." +msgstr "" + +#: api/templates/email_welcome_user.html:5 +msgid "Vous recevrez un email lorsque votre inscription sera validée." +msgstr "" + +#: api/views.py:216 msgid "This orderitem cannot be deleted anymore." msgstr "" -#: api/views.py:232 api/views.py:608 +#: api/views.py:236 api/views.py:614 msgid "Zip does not exist" msgstr "" -#: api/views.py:297 +#: api/views.py:301 msgid "This order cannot be deleted anymore." msgstr "" -#: api/views.py:344 +#: api/views.py:348 msgid "Full zip is not ready" msgstr "" -#: api/views.py:432 +#: api/views.py:436 msgid "Password reset e-mail has been sent." msgstr "" -#: api/views.py:459 +#: api/views.py:463 msgid "Password has been reset with the new password." msgstr "" -#: api/views.py:517 +#: api/views.py:521 msgid "Geoshop - New user request" msgstr "" -#: api/views.py:520 +#: api/views.py:524 msgid "A new user account needs to be validated:" msgstr "" -#: api/views.py:526 +#: api/views.py:532 msgid "Geoshop - New account pending" msgstr "" -#: api/views.py:532 api/views.py:657 +#: api/views.py:538 api/views.py:663 msgid "Your data was successfully submitted" msgstr "" -#: api/views.py:641 +#: api/views.py:647 msgid "Geoshop - User change request" msgstr "" -#: api/views.py:645 +#: api/views.py:651 msgid "The user {} has requested some changes for his user profile." msgstr "" -#: api/views.py:651 +#: api/views.py:657 msgid "Geoshop - Your changes request" msgstr "" -#: api/views.py:674 +#: api/views.py:680 msgid "ok" msgstr "" diff --git a/api/locale/fr/LC_MESSAGES/django.po b/api/locale/fr/LC_MESSAGES/django.po index 06a42dd1..8c45b920 100644 --- a/api/locale/fr/LC_MESSAGES/django.po +++ b/api/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-17 17:08+0200\n" +"POT-Creation-Date: 2024-06-21 12:53+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -705,10 +705,14 @@ msgstr "Envoyer le devis au client" msgid "Send confirmation email to client" msgstr "Envoyer un email de confirmation au client" -#: api/templates/email_admin_fr-ch.html:4 +#: api/templates/email_admin.html:4 msgid "Dear administrator," msgstr "Hello l'admin du géoshop," +#: api/templates/email_admin.html:27 +msgid "Cet email vous a été envoyé car vous êtes administrateur du Geoshop." +msgstr "" + #: api/templates/email_base_template.html:92 msgid "Dear user," msgstr "Bonjour," @@ -721,6 +725,24 @@ msgstr "" "Ceci est un email automatique, prière de ne pas y répondre. Pour toute " "question ou information supplémentaire, n'hésitez pas à nous contacter à" +#: api/templates/email_download_ready.html:4 +#, python-format +msgid " L'extraction pour la commande n°%(order_id)s a été réalisée. " +msgstr "" + +#: api/templates/email_download_ready.html:6 +msgid "" +" Connectez-vous sur le géoshop et téléchargez les produits commandés dans la " +"section \"Mes commandes\"\n" +" ou en cliquant directement sur ce lien: " +msgstr "" + +#: api/templates/email_download_ready.html:13 +msgid "" +"Veuillez prendre note que les liens de téléchargement ne sont disponibles " +"que pendant 1 mois." +msgstr "" + #: api/templates/email_password_reset.html:4 #, python-format msgid "" @@ -738,58 +760,99 @@ msgstr "Cliquez sur ce lien pour mettre à jour votre mot de passe:" msgid "Your username, in case you’ve forgotten:" msgstr "Votre nom d'utilisateur est:" -#: api/views.py:212 +#: api/templates/email_quote_done.html:4 +#, python-format +msgid "Le devis pour la commande n°%(order_id)s a été réalisé." +msgstr "" + +#: api/templates/email_quote_done.html:5 +msgid "" +"Connectez-vous sur le géoshop et confirmez ou annulez votre commande dans la " +"section \\" +msgstr "" + +#: api/templates/email_user_change.html:3 +msgid "" +"\n" +"

Vos demandes de modification de profil ont été envoyées aux " +"administrateurs du Geoshop.

\n" +"

\n" +" Elles seront analysées et reportées dans les jours à venir.\n" +" Vous serez averti par email une fois les modifications " +"effectuées.\n" +"

\n" +msgstr "" + +#: api/templates/email_user_footer.html:4 +msgid "Cet email est adressé à" +msgstr "" + +#: api/templates/email_validation_needed.html:6 +msgid "" +"Votre accord est nécessaire en vue de traiter une commande du géoshop. " +"Cliquez sur ce lien pour valider ou refuser la commande:" +msgstr "" + +#: api/templates/email_welcome_user.html:4 +msgid "Votre demande de création de compte est en cours de vérification." +msgstr "" + +#: api/templates/email_welcome_user.html:5 +msgid "Vous recevrez un email lorsque votre inscription sera validée." +msgstr "" + +#: api/views.py:216 msgid "This orderitem cannot be deleted anymore." msgstr "Ce produit ne peut plus être enlevé du panier." -#: api/views.py:232 api/views.py:608 +#: api/views.py:236 api/views.py:614 msgid "Zip does not exist" msgstr "Le fichier zip n'existe pas" -#: api/views.py:297 +#: api/views.py:301 msgid "This order cannot be deleted anymore." msgstr "Cette commande ne peut pas être annulée." -#: api/views.py:344 +#: api/views.py:348 msgid "Full zip is not ready" msgstr "Le zip contenant l'ensemble des fichiers n'est pas encore prêt." -#: api/views.py:432 +#: api/views.py:436 msgid "Password reset e-mail has been sent." msgstr "L'email pour la réinitialisation du mot de passe a été envoyé" -#: api/views.py:459 +#: api/views.py:463 msgid "Password has been reset with the new password." msgstr "Votre nouveau mot de passe est sauvegardé" -#: api/views.py:517 +#: api/views.py:521 msgid "Geoshop - New user request" msgstr "Geoshop - Nouvel utilisateur à valider" -#: api/views.py:520 +#: api/views.py:524 msgid "A new user account needs to be validated:" msgstr "Un nouveau compte utilisateur est en attente de validation." -#: api/views.py:526 +#: api/views.py:532 msgid "Geoshop - New account pending" msgstr "Geoshop - Nouveau compte en attente" -#: api/views.py:532 api/views.py:657 +#: api/views.py:538 api/views.py:663 msgid "Your data was successfully submitted" msgstr "Vos données ont été correctement soumises" -#: api/views.py:641 +#: api/views.py:647 msgid "Geoshop - User change request" msgstr "Geoshop - Demande de modifications de la part d'un utilisateur" -#: api/views.py:645 +#: api/views.py:651 msgid "The user {} has requested some changes for his user profile." msgstr "{} a fait une demande de modification de son profil." -#: api/views.py:651 +#: api/views.py:657 msgid "Geoshop - Your changes request" msgstr "Geoshop - Votre demande de modification" -#: api/views.py:674 +#: api/views.py:680 msgid "ok" msgstr "ok" diff --git a/api/locale/it/LC_MESSAGES/django.po b/api/locale/it/LC_MESSAGES/django.po index 44a58a3a..f33b2ea9 100644 --- a/api/locale/it/LC_MESSAGES/django.po +++ b/api/locale/it/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-17 17:08+0200\n" +"POT-Creation-Date: 2024-06-21 12:53+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" + #: api/admin.py:129 msgid "Invoice contact does not belong to the client of this order!" msgstr "" @@ -688,10 +689,14 @@ msgstr "" msgid "Send confirmation email to client" msgstr "" -#: api/templates/email_admin_fr-ch.html:4 +#: api/templates/email_admin.html:4 msgid "Dear administrator," msgstr "" +#: api/templates/email_admin.html:27 +msgid "Cet email vous a été envoyé car vous êtes administrateur du Geoshop." +msgstr "" + #: api/templates/email_base_template.html:92 msgid "Dear user," msgstr "" @@ -702,6 +707,24 @@ msgid "" "to contact us at" msgstr "" +#: api/templates/email_download_ready.html:4 +#, python-format +msgid " L'extraction pour la commande n°%(order_id)s a été réalisée. " +msgstr "" + +#: api/templates/email_download_ready.html:6 +msgid "" +" Connectez-vous sur le géoshop et téléchargez les produits commandés dans la " +"section \"Mes commandes\"\n" +" ou en cliquant directement sur ce lien: " +msgstr "" + +#: api/templates/email_download_ready.html:13 +msgid "" +"Veuillez prendre note que les liens de téléchargement ne sont disponibles " +"que pendant 1 mois." +msgstr "" + #: api/templates/email_password_reset.html:4 #, python-format msgid "" @@ -717,58 +740,99 @@ msgstr "" msgid "Your username, in case you’ve forgotten:" msgstr "" -#: api/views.py:212 +#: api/templates/email_quote_done.html:4 +#, python-format +msgid "Le devis pour la commande n°%(order_id)s a été réalisé." +msgstr "" + +#: api/templates/email_quote_done.html:5 +msgid "" +"Connectez-vous sur le géoshop et confirmez ou annulez votre commande dans la " +"section \\" +msgstr "" + +#: api/templates/email_user_change.html:3 +msgid "" +"\n" +"

Vos demandes de modification de profil ont été envoyées aux " +"administrateurs du Geoshop.

\n" +"

\n" +" Elles seront analysées et reportées dans les jours à venir.\n" +" Vous serez averti par email une fois les modifications " +"effectuées.\n" +"

\n" +msgstr "" + +#: api/templates/email_user_footer.html:4 +msgid "Cet email est adressé à" +msgstr "" + +#: api/templates/email_validation_needed.html:6 +msgid "" +"Votre accord est nécessaire en vue de traiter une commande du géoshop. " +"Cliquez sur ce lien pour valider ou refuser la commande:" +msgstr "" + +#: api/templates/email_welcome_user.html:4 +msgid "Votre demande de création de compte est en cours de vérification." +msgstr "" + +#: api/templates/email_welcome_user.html:5 +msgid "Vous recevrez un email lorsque votre inscription sera validée." +msgstr "" + +#: api/views.py:216 msgid "This orderitem cannot be deleted anymore." msgstr "" -#: api/views.py:232 api/views.py:608 +#: api/views.py:236 api/views.py:614 msgid "Zip does not exist" msgstr "" -#: api/views.py:297 +#: api/views.py:301 msgid "This order cannot be deleted anymore." msgstr "" -#: api/views.py:344 +#: api/views.py:348 msgid "Full zip is not ready" msgstr "" -#: api/views.py:432 +#: api/views.py:436 msgid "Password reset e-mail has been sent." msgstr "" -#: api/views.py:459 +#: api/views.py:463 msgid "Password has been reset with the new password." msgstr "" -#: api/views.py:517 +#: api/views.py:521 msgid "Geoshop - New user request" msgstr "" -#: api/views.py:520 +#: api/views.py:524 msgid "A new user account needs to be validated:" msgstr "" -#: api/views.py:526 +#: api/views.py:532 msgid "Geoshop - New account pending" msgstr "" -#: api/views.py:532 api/views.py:657 +#: api/views.py:538 api/views.py:663 msgid "Your data was successfully submitted" msgstr "" -#: api/views.py:641 +#: api/views.py:647 msgid "Geoshop - User change request" msgstr "" -#: api/views.py:645 +#: api/views.py:651 msgid "The user {} has requested some changes for his user profile." msgstr "" -#: api/views.py:651 +#: api/views.py:657 msgid "Geoshop - Your changes request" msgstr "" -#: api/views.py:674 +#: api/views.py:680 msgid "ok" msgstr "" diff --git a/api/locale/rm/LC_MESSAGES/django.po b/api/locale/rm/LC_MESSAGES/django.po index cd8c130f..7c19ce92 100644 --- a/api/locale/rm/LC_MESSAGES/django.po +++ b/api/locale/rm/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-17 17:08+0200\n" +"POT-Creation-Date: 2024-06-21 12:53+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -688,10 +688,14 @@ msgstr "" msgid "Send confirmation email to client" msgstr "" -#: api/templates/email_admin_fr-ch.html:4 +#: api/templates/email_admin.html:4 msgid "Dear administrator," msgstr "" +#: api/templates/email_admin.html:27 +msgid "Cet email vous a été envoyé car vous êtes administrateur du Geoshop." +msgstr "" + #: api/templates/email_base_template.html:92 msgid "Dear user," msgstr "" @@ -702,6 +706,24 @@ msgid "" "to contact us at" msgstr "" +#: api/templates/email_download_ready.html:4 +#, python-format +msgid " L'extraction pour la commande n°%(order_id)s a été réalisée. " +msgstr "" + +#: api/templates/email_download_ready.html:6 +msgid "" +" Connectez-vous sur le géoshop et téléchargez les produits commandés dans la " +"section \"Mes commandes\"\n" +" ou en cliquant directement sur ce lien: " +msgstr "" + +#: api/templates/email_download_ready.html:13 +msgid "" +"Veuillez prendre note que les liens de téléchargement ne sont disponibles " +"que pendant 1 mois." +msgstr "" + #: api/templates/email_password_reset.html:4 #, python-format msgid "" @@ -717,58 +739,99 @@ msgstr "" msgid "Your username, in case you’ve forgotten:" msgstr "" -#: api/views.py:212 +#: api/templates/email_quote_done.html:4 +#, python-format +msgid "Le devis pour la commande n°%(order_id)s a été réalisé." +msgstr "" + +#: api/templates/email_quote_done.html:5 +msgid "" +"Connectez-vous sur le géoshop et confirmez ou annulez votre commande dans la " +"section \\" +msgstr "" + +#: api/templates/email_user_change.html:3 +msgid "" +"\n" +"

Vos demandes de modification de profil ont été envoyées aux " +"administrateurs du Geoshop.

\n" +"

\n" +" Elles seront analysées et reportées dans les jours à venir.\n" +" Vous serez averti par email une fois les modifications " +"effectuées.\n" +"

\n" +msgstr "" + +#: api/templates/email_user_footer.html:4 +msgid "Cet email est adressé à" +msgstr "" + +#: api/templates/email_validation_needed.html:6 +msgid "" +"Votre accord est nécessaire en vue de traiter une commande du géoshop. " +"Cliquez sur ce lien pour valider ou refuser la commande:" +msgstr "" + +#: api/templates/email_welcome_user.html:4 +msgid "Votre demande de création de compte est en cours de vérification." +msgstr "" + +#: api/templates/email_welcome_user.html:5 +msgid "Vous recevrez un email lorsque votre inscription sera validée." +msgstr "" + +#: api/views.py:216 msgid "This orderitem cannot be deleted anymore." msgstr "" -#: api/views.py:232 api/views.py:608 +#: api/views.py:236 api/views.py:614 msgid "Zip does not exist" msgstr "" -#: api/views.py:297 +#: api/views.py:301 msgid "This order cannot be deleted anymore." msgstr "" -#: api/views.py:344 +#: api/views.py:348 msgid "Full zip is not ready" msgstr "" -#: api/views.py:432 +#: api/views.py:436 msgid "Password reset e-mail has been sent." msgstr "" -#: api/views.py:459 +#: api/views.py:463 msgid "Password has been reset with the new password." msgstr "" -#: api/views.py:517 +#: api/views.py:521 msgid "Geoshop - New user request" msgstr "" -#: api/views.py:520 +#: api/views.py:524 msgid "A new user account needs to be validated:" msgstr "" -#: api/views.py:526 +#: api/views.py:532 msgid "Geoshop - New account pending" msgstr "" -#: api/views.py:532 api/views.py:657 +#: api/views.py:538 api/views.py:663 msgid "Your data was successfully submitted" msgstr "" -#: api/views.py:641 +#: api/views.py:647 msgid "Geoshop - User change request" msgstr "" -#: api/views.py:645 +#: api/views.py:651 msgid "The user {} has requested some changes for his user profile." msgstr "" -#: api/views.py:651 +#: api/views.py:657 msgid "Geoshop - Your changes request" msgstr "" -#: api/views.py:674 +#: api/views.py:680 msgid "ok" msgstr "" diff --git a/api/templates/email_admin_fr-ch.html b/api/templates/email_admin.html similarity index 66% rename from api/templates/email_admin_fr-ch.html rename to api/templates/email_admin.html index ceec5e6f..59a7d7f7 100644 --- a/api/templates/email_admin_fr-ch.html +++ b/api/templates/email_admin.html @@ -16,14 +16,14 @@ {% endif %} {% if admin_url %}

- - {% url admin_url admin_url_params %} + + {{ protocol }}://{{ current_site }}{% url admin_url admin_url_params %}

{% endif %} {% endblock %} {% block footer %}

- Cet email vous a été envoyé car vous êtes administrateur du Geoshop. + {% trans "Cet email vous a été envoyé car vous êtes administrateur du Geoshop." %}

{% endblock %} \ No newline at end of file diff --git a/api/templates/email_base_template.html b/api/templates/email_base_template.html index 1802dc2f..ae60bd8f 100644 --- a/api/templates/email_base_template.html +++ b/api/templates/email_base_template.html @@ -2,7 +2,7 @@ {% autoescape off %} - + @@ -101,7 +101,7 @@ {% endblock %}

{% trans "This is an automated email, please do not reply. For any question, feel free to contact us at" %} - sitn@ne.ch. + {{ REPLY_TO_EMAIL }}.

diff --git a/api/templates/email_download_ready.html b/api/templates/email_download_ready.html new file mode 100644 index 00000000..4979e3d5 --- /dev/null +++ b/api/templates/email_download_ready.html @@ -0,0 +1,17 @@ +{% extends "email_base_template.html" %} +{% load i18n %} +{% block content %} +

{% blocktrans %} L'extraction pour la commande n°{{ order_id }} a été réalisée. {% endblocktrans %}

+

+ {% blocktrans %} Connectez-vous sur le géoshop et téléchargez les produits commandés dans la section "Mes commandes" + ou en cliquant directement sur ce lien: {% endblocktrans %}
+ + {{ front_url }}/welcome/download/{{ download_guid }} + +

+

+ {% trans "Veuillez prendre note que les liens de téléchargement ne sont disponibles que pendant 1 mois." %} +

+{% endblock %} +{% block footer %} +{% endblock %} \ No newline at end of file diff --git a/api/templates/email_download_ready_fr-ch.html b/api/templates/email_download_ready_fr-ch.html deleted file mode 100644 index 07ac8ef4..00000000 --- a/api/templates/email_download_ready_fr-ch.html +++ /dev/null @@ -1,16 +0,0 @@ -{% extends "email_base_template.html" %} -{% block content %} -

L'extraction pour la commande n°{{ order_id }} a été réalisée.

-

- Connectez-vous sur le géoshop et téléchargez les produits commandés dans la section "Mes commandes" - ou en cliquant directement sur ce lien:
- - {{ front_url }}/welcome/download/{{ download_guid }} - -

-

- Veuillez prendre note que les liens de téléchargement ne sont disponibles que pendant 1 mois. -

-{% endblock %} -{% block footer %} -{% endblock %} \ No newline at end of file diff --git a/api/templates/email_quote_done.html b/api/templates/email_quote_done.html new file mode 100644 index 00000000..324eae68 --- /dev/null +++ b/api/templates/email_quote_done.html @@ -0,0 +1,8 @@ +{% extends "email_base_template.html" %} +{% load i18n %} +{% block content %} +

{% blocktrans %}Le devis pour la commande n°{{ order_id }} a été réalisé.{% endblocktrans %}

+

{% trans "Connectez-vous sur le géoshop et confirmez ou annulez votre commande dans la section \"Mes commandes\"." %}

+{% endblock %} +{% block footer %} +{% endblock %} diff --git a/api/templates/email_quote_done_fr-ch.html b/api/templates/email_quote_done_fr-ch.html deleted file mode 100644 index f6cea0b8..00000000 --- a/api/templates/email_quote_done_fr-ch.html +++ /dev/null @@ -1,7 +0,0 @@ -{% extends "email_base_template.html" %} -{% block content %} -

Le devis pour la commande n°{{ order_id }} a été réalisé.

-

Connectez-vous sur le géoshop et confirmez ou annulez votre commande dans la section "Mes commandes".

-{% endblock %} -{% block footer %} -{% endblock %} diff --git a/api/templates/email_user_change_fr-ch.html b/api/templates/email_user_change.html similarity index 70% rename from api/templates/email_user_change_fr-ch.html rename to api/templates/email_user_change.html index 77767cb2..e0bb2e6e 100644 --- a/api/templates/email_user_change_fr-ch.html +++ b/api/templates/email_user_change.html @@ -1,13 +1,12 @@ {% extends "email_base_template.html" %} -{% block content %} +{% load i18n %} +{% block content %}{% blocktrans %}

Vos demandes de modification de profil ont été envoyées aux administrateurs du Geoshop.

Elles seront analysées et reportées dans les jours à venir. Vous serez averti par email une fois les modifications effectuées.

-{% endblock %} +{% endblocktrans %}{% endblock %} {% block footer %} -

- Cet email est adressé à {{ first_name }} {{ last_name }}. -

-{% endblock %} +{% include "email_user_footer.html"%} +{% endblock %} \ No newline at end of file diff --git a/api/templates/email_user_confirm_fr-ch.html b/api/templates/email_user_confirm.html similarity index 66% rename from api/templates/email_user_confirm_fr-ch.html rename to api/templates/email_user_confirm.html index 81ee3567..85bc3ce8 100644 --- a/api/templates/email_user_confirm_fr-ch.html +++ b/api/templates/email_user_confirm.html @@ -1,10 +1,9 @@ {% extends "email_base_template.html" %} +{% load i18n %} {% block content %}

Votre compte a été validé avec succès.

Vous pouvez désormais commander sur le géoshop.

{% endblock %} {% block footer %} -

- Cet email est adressé à {{ first_name }} {{ last_name }}. -

-{% endblock %} \ No newline at end of file + {% include "email_user_footer.html"%} +{% endblock %} diff --git a/api/templates/email_user_footer.html b/api/templates/email_user_footer.html new file mode 100644 index 00000000..e6289905 --- /dev/null +++ b/api/templates/email_user_footer.html @@ -0,0 +1,6 @@ +{% load i18n %} +{% block footer %} +

+ {% trans "Cet email est adressé à" %} {{ first_name }} {{ last_name }}. +

+{% endblock %} \ No newline at end of file diff --git a/api/templates/email_validation_needed.html b/api/templates/email_validation_needed.html new file mode 100644 index 00000000..40776dac --- /dev/null +++ b/api/templates/email_validation_needed.html @@ -0,0 +1,18 @@ +{% extends "email_base_template.html" %} +{% load i18n %} +{% block content %} + +

+ {% trans "Votre accord est nécessaire en vue de traiter une commande du géoshop. Cliquez sur ce lien pour valider ou refuser la commande:" %}
+ + {{ front_url }}/welcome/validate/{{ what }}/{{ token }} + +

+

+ {% trans "Veuillez noter que le client ne recevra pas les données tant qu'une action de votre part n'est pas entreprise. + Si vous estimez que cet email est une erreur, veuillez s'il vous plaît prendre contact avec le" %} + {{ REPLY_TO_EMAIL }}. +

+{% endblock %} +{% block footer %} +{% endblock %} \ No newline at end of file diff --git a/api/templates/email_validation_needed_fr-ch.html b/api/templates/email_validation_needed_fr-ch.html deleted file mode 100644 index 94c547f6..00000000 --- a/api/templates/email_validation_needed_fr-ch.html +++ /dev/null @@ -1,17 +0,0 @@ -{% extends "email_base_template.html" %} -{% block content %} -

- Votre accord est nécessaire en vue de traiter une commande du géoshop. Cliquez sur ce lien pour valider ou - refuser la commande:
- - {{ front_url }}/welcome/validate/{{ what }}/{{ token }} - -

-

- Veuillez noter que le client ne recevra pas les données tant qu'une action de votre part n'est pas entreprise. - Si vous estimez que cet email est une erreur, veuillez s'il vous plaît prendre contact avec le SITN. -

-{% endblock %} -{% block footer %} -{% endblock %} \ No newline at end of file diff --git a/api/templates/email_welcome_user.html b/api/templates/email_welcome_user.html new file mode 100644 index 00000000..2d34b198 --- /dev/null +++ b/api/templates/email_welcome_user.html @@ -0,0 +1,9 @@ +{% extends "email_base_template.html" %} +{% load i18n %} +{% block content %} +

{% trans "Votre demande de création de compte est en cours de vérification." %}

+

{% trans "Vous recevrez un email lorsque votre inscription sera validée." %}

+{% endblock %} +{% block footer %} + {% include "email_user_footer.html"%} +{% endblock %} \ No newline at end of file diff --git a/api/templates/email_welcome_user_fr-ch.html b/api/templates/email_welcome_user_fr-ch.html deleted file mode 100644 index 47c192ae..00000000 --- a/api/templates/email_welcome_user_fr-ch.html +++ /dev/null @@ -1,10 +0,0 @@ -{% extends "email_base_template.html" %} -{% block content %} -

Votre demande de création de compte est en cours de vérification.

-

Vous recevrez un email lorsque votre inscription sera validée.

-{% endblock %} -{% block footer %} -

- Cet email est adressé à {{ first_name }} {{ last_name }}. -

-{% endblock %} \ No newline at end of file diff --git a/api/templates/metadata.html b/api/templates/metadata.html index 3772dc56..09e1d44d 100644 --- a/api/templates/metadata.html +++ b/api/templates/metadata.html @@ -6,7 +6,7 @@ Métadonnée {{ name }} - +