diff --git a/src/onegov/org/locale/de_CH/LC_MESSAGES/onegov.org.po b/src/onegov/org/locale/de_CH/LC_MESSAGES/onegov.org.po index 2041ca99f7..9022616fd0 100644 --- a/src/onegov/org/locale/de_CH/LC_MESSAGES/onegov.org.po +++ b/src/onegov/org/locale/de_CH/LC_MESSAGES/onegov.org.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE 1.0\n" -"POT-Creation-Date: 2024-08-20 16:02+0200\n" +"POT-Creation-Date: 2024-08-29 15:08+0200\n" "PO-Revision-Date: 2022-03-15 10:21+0100\n" "Last-Translator: Marc Sommerhalder \n" "Language-Team: German\n" @@ -1052,6 +1052,18 @@ msgstr "Veranstaltungen" msgid "Publications" msgstr "Publikationen" +msgid "Categories" +msgstr "Kategorien" + +msgid "" +"Select categories the newsletter reports on. The users will receive the " +"newsletter only if it reports on at least one of the categories the user " +"subscribed to." +msgstr "" +"Wählen Sie die Kategorien aus, über die der Newsletter berichtet. Die " +"Benutzer erhalten den Newsletter nur, wenn er über mindestens eine der " +"Kategorien berichtet, die der Benutzer abonniert hat." + msgid "Send" msgstr "Senden" @@ -1840,6 +1852,57 @@ msgstr "Logo im Newsletter anzeigen" msgid "Allow secret content in newsletter" msgstr "Geheimen Inhalt im Newsletter erlauben" +msgid "Newsletter categories" +msgstr "Newsletter Kategorien" + +msgid "" +"Example for newsletter topics with subtopics in yaml format. Note: Deeper " +"structures are not supported.\n" +"```\n" +"Organisation:\n" +" - Topic 1:\n" +" - Subtopic 1.1\n" +" - Subtopic 1.2\n" +" - Topic 2\n" +" - Topic 3:\n" +" - Subtopic 3.1\n" +"```" +msgstr "" +"Beispiel für Newsletter-Themen mit Unterthemen im yaml-Format. Hinweis: " +"Tiefere Strukturen werden nicht unterstützt.\n" +"```\n" +"Organisation:\n" +" - Thema 1:\n" +" - Unterthema 1.1\n" +" - Unterthema 1.2\n" +" - Thema 2\n" +" - Thema 3:\n" +" - Unterthema 3.1\n" +"```" + +msgid "Invalid YAML format. Please refer to the example." +msgstr "Ungültiges YAML Format. Bitte beachten Sie das Beispiel." + +msgid "" +"Invalid format. Please define an organisation name with topics and subtopics " +"according the example." +msgstr "" +"Ungültiges Format. Bitte definieren Sie eine Organisation mit Themen und " +"Unterthemen wie im Beispiel." + +msgid "" +"Invalid format. Please define topics and subtopics according to the example." +msgstr "" +"Ungültiges Format. Bitte definieren Sie Themen und Unterthemen wie im " +"Beispiel." + +msgid "" +"Invalid format. Only topics and subtopics are allowed - no deeper structures " +"supported." +msgstr "" +"Ungültiges Format. Nur Themen und Unterthemen sind erlaubt - es werden keine " +"tiefer verschachtelte Strukturen unterstützt." + msgid "Old domain" msgstr "Alte Domain" @@ -1936,6 +1999,14 @@ msgstr "Dauer vom archivierten Zustand bis zum automatischen Löschen" msgid "E-Mail Address" msgstr "E-Mail Adresse" +msgid "" +"Select newsletter categories your are interested in. You will receive the " +"newsletter if it reports on at least one of the subscribed categories." +msgstr "" +"Wählen Sie die Newsletter-Kategorien aus, an denen Sie interessiert sind. " +"Sie werden den Newsletter erhalten, wenn er über mindestens eine der " +"abonnierten Kategorien berichtet." + msgid "Submission Window" msgstr "Befragungszeitraum" @@ -2215,9 +2286,6 @@ msgstr "Externes Formular" msgid "New external form" msgstr "Neues externes Formular" -msgid "Results" -msgstr "Resultate" - msgid "Do you really want to delete this submission window?" msgstr "Möchten Sie diesen Befragungszeitraum wirklich löschen?" @@ -2227,6 +2295,9 @@ msgstr "Bestehende Eingaben werden vom Anmeldezeitraum losgelöst." msgid "Delete submission window" msgstr "Befragungszeitraum löschen" +msgid "Results" +msgstr "Resultate" + msgid "Do you really want to delete this survey?" msgstr "Möchten Sie die Umfrage wirklich löschen?" @@ -2436,6 +2507,9 @@ msgstr "Newsletter" msgid "New" msgstr "Neu" +msgid "Newsletter Subscription" +msgstr "Newsletter-Abonnement" + msgid "Subscribers" msgstr "Abonnenten" @@ -2588,6 +2662,12 @@ msgstr "" "- Urls werden zu Hyperlinks konvertiert\n" "- E-Mails und Telefon-Nummern ebenfalls" +msgid "Inherit address from another topic" +msgstr "Adresse aus einem anderen Thema übernehmen" + +msgid "Topic to inherit from" +msgstr "Adresse aus diesem Thema übernehmen" + msgid "Hide contact info in sidebar" msgstr "Kontaktinformationen in Sidebar ausblenden" @@ -2827,8 +2907,8 @@ msgstr "Die Absage von ${title} kann nicht rückgängig gemacht werden." msgid "Reject reservation" msgstr "Reservation absagen" -#. Used in sentence: "${event} published." #. +#. Used in sentence: "${event} published." msgid "Event" msgstr "Veranstaltung" @@ -3215,9 +3295,6 @@ msgstr "Bitte folgen Sie diesem Link um sich anzumelden." msgid "No forms defined yet." msgstr "Es wurden noch keine Formulare definiert." -msgid "Categories" -msgstr "Kategorien" - msgid "" "To edit the image descriptions, click on one, enter your descrption and " "press return. To abort press escape." @@ -3620,6 +3697,9 @@ msgstr "" "Sie erhalten diese E-Mail weil Sie sich für den folgenden Newsletter " "angemeldet haben:" +msgid "You subscribed to the following newsletter categories:" +msgstr "Sie haben folgende Newsletter-Kategorien abonniert:" + msgid "Please click the following link to confirm your subscription:" msgstr "" "Bitte klicken Sie auf den folgenden Link um Ihre Anmeldung zu bestätigen:" @@ -3627,20 +3707,11 @@ msgstr "" msgid "Confirm subscription" msgstr "Anmeldung bestätigen" -msgid "Newsletter Subscription" -msgstr "Newsletter-Abonnement" - -msgid "Update Newsletter Subscription" -msgstr "Newsletter-Abonnement aktualisieren" - -msgid "Update subscription" -msgstr "Abonnement aktualisieren" - msgid "To update your subscription categories click here:" msgstr "Um Ihre Abonnementkategorien zu aktualisieren, klicken Sie hier:" -msgid "Update your newsletter subscription categories:" -msgstr "Aktualisieren Sie Ihre Newsletter-Abonnementkategorien:" +msgid "Update subscription" +msgstr "Abonnement aktualisieren" msgid "" "If you did not subscribe to this newsletter you can simply ignore this e-" @@ -4114,59 +4185,9 @@ msgstr "" "Der Newsletter ist deaktiviert. Sie können diese Seite nur sehen, weil Sie " "eingeloggt sind." -msgid "Sign up to our newsletter to always stay up to date:" -msgstr "Abonnieren Sie unseren Newsletter um immer auf dem Laufenden zu " -"bleiben:" - -# python-format -msgid "Success! We have updated your subscribed categories to ${subscribed}." -msgstr "Erfolg! Wir haben Ihre abonnierten Kategorien aktualisiert auf " -"${subscribed}." - -msgid "Select newsletter categories your are interested in. You will receive " -"the newsletter if it reports on at least one of the subscribed categories." -msgstr "Wählen Sie die Newsletter-Kategorien aus, an denen Sie interessiert " -"sind. Sie werden den Newsletter erhalten, wenn er über mindestens eine der " -"abonnierten Kategorien berichtet." - -msgid "Select categories the newsletter reports on. The users will receive the " -"newsletter only if it reports on at least one of the categories the user " -"subscribed to." -msgstr "Wählen Sie die Kategorien aus, über die der Newsletter berichtet. Die " -"Benutzer erhalten den Newsletter nur, wenn er über mindestens eine der " -"Kategorien berichtet, die der Benutzer abonniert hat." - -msgid "Example for newsletter topics with subtopics in yaml format. " -"Note: Deeper structures are not supported." -"\n" -"```\n" -"Organisation:\n" -" - Topic 1:\n" -" - Subtopic 1.1\n" -" - Subtopic 1.2\n" -" - Topic 2\n" -" - Topic 3:\n" -" - Subtopic 3.1\n" -"```" -msgstr "Beispiel für Newsletter-Themen mit Unterthemen im yaml-Format. " -"Hinweis: Tiefere Strukturen werden nicht unterstützt." -"\n" -"```\n" -"Organisation:\n" -" - Thema 1:\n" -" - Unterthema 1.1\n" -" - Unterthema 1.2\n" -" - Thema 2\n" -" - Thema 3:\n" -" - Unterthema 3.1\n" -"```" - msgid "There are currently ${count} recipients registered." msgstr "Zur Zeit sind ${count} Abonnenten registriert." -msgid "Signup" -msgstr "Abonnieren" - msgid "Archive" msgstr "Archiv" @@ -5019,14 +5040,10 @@ msgstr "" #, python-format msgid "" "Success! We have sent a confirmation link to ${address}, if we didn't send " -"you one already. Your subscribed categories are ${subscribed}." +"you one already." msgstr "" "Erfolg! Wir senden eine E-Mail zur Bestätigung Ihres Abonnements an " -"${address}, sofern Sie noch nicht angemeldet sind. Ihre abonnierten " -"Kategorien sind ${subscribed}." - -msgid "You subscribed to the following newsletter categories:" -msgstr "Sie haben folgende Newsletter-Kategorien abonniert:" +"${address}, sofern Sie noch nicht angemeldet sind." msgid "Notification for new entries" msgstr "Benachrichtigung bei neuen Einträgen" @@ -5337,10 +5354,30 @@ msgid "Welcome to the ${org} Newsletter" msgstr "Willkommen beim ${org} Newsletter" #, python-format -msgid "Success! We have added ${address} to the list of recipients. " -"Subscribed categories are ${subscribed}." -msgstr "Erfolg! Wir haben ${address} zur Liste der Empfänger hinzugefügt. " -"Abonnierte Kategorien sind ${subscribed}." +msgid "" +"Success! We have added ${address} to the list of recipients. Subscribed " +"categories are ${subscribed}." +msgstr "" +"Erfolg! Wir haben ${address} zur Liste der Empfänger hinzugefügt. Abonnierte " +"Kategorien sind ${subscribed}." + +#, python-format +msgid "" +"Success! We have sent a confirmation link to ${address}, if we didn't send " +"you one already. Your subscribed categories are ${subscribed}." +msgstr "" +"Erfolg! Wir senden eine E-Mail zur Bestätigung Ihres Abonnements an " +"${address}, sofern Sie noch nicht angemeldet sind. Ihre abonnierten " +"Kategorien sind ${subscribed}." + +# python-format +#, python-format +msgid "Success! We have updated your subscribed categories to ${subscribed}." +msgstr "" +"Erfolg! Wir haben Ihre abonnierten Kategorien aktualisiert auf ${subscribed}." + +msgid "Update Newsletter Subscription" +msgstr "Newsletter-Abonnement aktualisieren" msgid "A newsletter with this name already exists" msgstr "Ein Newsletter mit diesem Namen existiert bereits" @@ -6025,6 +6062,16 @@ msgstr "Ein Konto wurde für Sie erstellt" msgid "The user was created successfully" msgstr "Der Benutzer wurde erfolgreich erstellt" +#~ msgid "Update your newsletter subscription categories:" +#~ msgstr "Aktualisieren Sie Ihre Newsletter-Abonnementkategorien:" + +#~ msgid "Sign up to our newsletter to always stay up to date:" +#~ msgstr "" +#~ "Abonnieren Sie unseren Newsletter um immer auf dem Laufenden zu bleiben:" + +#~ msgid "Signup" +#~ msgstr "Abonnieren" + #, python-format #~ msgid "" #~ "The date range overlaps with an existing submission window (${range})." diff --git a/src/onegov/org/locale/fr_CH/LC_MESSAGES/onegov.org.po b/src/onegov/org/locale/fr_CH/LC_MESSAGES/onegov.org.po index efead08b3b..930a32f00a 100644 --- a/src/onegov/org/locale/fr_CH/LC_MESSAGES/onegov.org.po +++ b/src/onegov/org/locale/fr_CH/LC_MESSAGES/onegov.org.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE 1.0\n" -"POT-Creation-Date: 2024-08-20 16:02+0200\n" +"POT-Creation-Date: 2024-08-29 15:08+0200\n" "PO-Revision-Date: 2022-03-15 10:50+0100\n" "Last-Translator: Marc Sommerhalder \n" "Language-Team: French\n" @@ -1052,6 +1052,18 @@ msgstr "Événements" msgid "Publications" msgstr "Publications" +msgid "Categories" +msgstr "Catégories" + +msgid "" +"Select categories the newsletter reports on. The users will receive the " +"newsletter only if it reports on at least one of the categories the user " +"subscribed to." +msgstr "" +"Sélectionnez les catégories sur lesquelles la lettre d'information porte. " +"Les utilisateurs ne recevront la lettre d'information que si elle concerne " +"au moins l'une des catégories auxquelles l'utilisateur s'est abonné." + msgid "Send" msgstr "Envoyer" @@ -1847,6 +1859,56 @@ msgstr "Afficher le logo dans la newsletter" msgid "Allow secret content in newsletter" msgstr "Autoriser le contenu secret dans la newsletter" +msgid "Newsletter categories" +msgstr "Catégories de newsletter" + +msgid "" +"Example for newsletter topics with subtopics in yaml format. Note: Deeper " +"structures are not supported.\n" +"```\n" +"Organisation:\n" +" - Topic 1:\n" +" - Subtopic 1.1\n" +" - Subtopic 1.2\n" +" - Topic 2\n" +" - Topic 3:\n" +" - Subtopic 3.1\n" +"```" +msgstr "" +"Exemple de sujets de newsletter avec des sous-sujets au format yaml. Note : " +"Les structures plus profondes ne sont pas prises en charge. \n" +"```\n" +"Organisation:\n" +" - Thème 1:\n" +" - Sous-thème 1.1\n" +" - Sous-thème 1.2\n" +" - Thème 2\n" +" - Thème 3:\n" +" - Sous-thème 3.1```" + +msgid "Invalid YAML format. Please refer to the example." +msgstr "Format YAML non valide. Veuillez vous référer à l'exemple." + +msgid "" +"Invalid format. Please define an organisation name with topics and subtopics " +"according the example." +msgstr "" +"Format non valide. Veuillez définir un nom d'organisation avec des sujets et " +"des sous-sujets selon l'exemple." + +msgid "" +"Invalid format. Please define topics and subtopics according to the example." +msgstr "" +"Format non valide. Veuillez définir les thèmes et les sous-thèmes selon " +"l'exemple." + +msgid "" +"Invalid format. Only topics and subtopics are allowed - no deeper structures " +"supported." +msgstr "" +"Format non valide. Seuls les sujets et les sous-sujets sont autorisés - " +"aucune structure plus profonde n'est prise en charge." + msgid "Old domain" msgstr "Ancien domaine" @@ -1944,6 +2006,14 @@ msgstr "Durée de l'état archivé jusqu'à la suppression automatique" msgid "E-Mail Address" msgstr "Adresse e-mail" +msgid "" +"Select newsletter categories your are interested in. You will receive the " +"newsletter if it reports on at least one of the subscribed categories." +msgstr "" +"Sélectionnez les catégories de lettres d'information qui vous intéressent. " +"Vous recevrez la newsletter si elle traite d'au moins une des catégories " +"souscrites." + msgid "Submission Window" msgstr "Fenêtre de soumission" @@ -2220,9 +2290,6 @@ msgstr "Formulaire externe" msgid "New external form" msgstr "Nouveau formulaire externe" -msgid "Results" -msgstr "Résultats" - msgid "Do you really want to delete this submission window?" msgstr "Voulez-vous vraiment supprimer cette fenêtre de soumission ?" @@ -2232,6 +2299,9 @@ msgstr "Les soumissions existantes seront dissociées." msgid "Delete submission window" msgstr "Supprimer la fenêtre de soumission" +msgid "Results" +msgstr "Résultats" + msgid "Do you really want to delete this survey?" msgstr "Voulez-vous vraiment supprimer ce sondage ?" @@ -2436,6 +2506,9 @@ msgstr "Newsletter" msgid "New" msgstr "Nouveau" +msgid "Newsletter Subscription" +msgstr "Abonnement à la newsletter " + msgid "Subscribers" msgstr "Abonnés" @@ -2589,6 +2662,12 @@ msgstr "" "- Les urls seront transformées en liens\n" "- Les e-mails et les numéros de téléphone aussi" +msgid "Inherit address from another topic" +msgstr "Hériter de l'adresse d'un autre sujet" + +msgid "Topic to inherit from" +msgstr "Sujet dont on hérite" + msgid "Hide contact info in sidebar" msgstr "Nascondi le informazioni di contatto nella sidebar" @@ -2829,8 +2908,8 @@ msgstr "Refuser ${title} est irréversible." msgid "Reject reservation" msgstr "Refuser la réservation" -#. Used in sentence: "${event} published." #. +#. Used in sentence: "${event} published." msgid "Event" msgstr "Événement" @@ -3162,8 +3241,8 @@ msgid "" "filled-out form." msgstr "" "Veuillez vérifier vos données et appuyez sur « Compléter » pour finaliser le " -"processus. S'il y a quelque chose que vous souhaitez modifier, cliquez sur « " -"Modifier » pour retourner sur le formulaire complété." +"processus. S'il y a quelque chose que vous souhaitez modifier, cliquez sur " +"« Modifier » pour retourner sur le formulaire complété." msgid "" "The image shown in the list view is a square. To have your image shown fully " @@ -3221,9 +3300,6 @@ msgstr "Veuillez suivre ce lien pour vous connecter." msgid "No forms defined yet." msgstr "Aucun formulaire défini pour le moment." -msgid "Categories" -msgstr "Catégories" - msgid "" "To edit the image descriptions, click on one, enter your descrption and " "press return. To abort press escape." @@ -3625,26 +3701,21 @@ msgstr "" "Vous recevez ce courriel parce que vous vous êtes abonné à la lettre " "d'informations suivante:" +msgid "You subscribed to the following newsletter categories:" +msgstr "" +"Vous vous êtes abonné aux catégories de lettres d'information suivantes:" + msgid "Please click the following link to confirm your subscription:" msgstr "Veuillez cliquer sur le lien suivant pour confirmer votre abonnement:" msgid "Confirm subscription" msgstr "Confirmer l'abonnement" -msgid "Newsletter Subscription" -msgstr "Abonnement à la newsletter " - -msgid "Update Newsletter Subscription" -msgstr "Mettre à jour l'abonnement à la lettre d'information" - -msgid "Update Subscription" -msgstr "Mise à jour de l'abonnement" - msgid "To update your subscription categories click here:" msgstr "Pour mettre à jour vos catégories d'abonnement, cliquez ici:" -msgid "Update your newsletter subscription categories:" -msgstr "Mettre à jour les catégories d'abonnement à la newsletter:" +msgid "Update subscription" +msgstr "Mise à jour de l'abonnement" msgid "" "If you did not subscribe to this newsletter you can simply ignore this e-" @@ -3680,7 +3751,7 @@ msgid "No reservations today." msgstr "Aucune réservation aujourd'hui." msgid "Have a great day!" -msgstr "Passez une bonne journée !" +msgstr "Passez une bonne journée!" msgid "" "This is the daily reservation overview for ${organisation}. If you no longer " @@ -4120,59 +4191,9 @@ msgstr "" "La newsletter est désactivée. Vous ne pouvez voir cette page que parce que " "vous êtes connecté." -msgid "Sign up to our newsletter to always stay up to date:" -msgstr "" -"Abonnez-vous à notre lettre d'informations pour rester au courant en " -"permanence :" - -# python-format -msgid "Success! We have updated your subscribed categories to ${subscribed}." -msgstr "Succès! Nous avons mis à jour vos catégories abonnées à ${subscribed}." - -msgid "Select newsletter categories your are interested in. You will receive " -"the newsletter if it reports on at least one of the subscribed categories." -msgstr "Sélectionnez les catégories de lettres d'information qui vous " -"intéressent. Vous recevrez la newsletter si elle traite d'au moins une des " -"catégories souscrites." - -msgid "Select categories the newsletter reports on. The users will receive the " -"newsletter only if it reports on at least one of the categories the user " -"subscribed to." -msgstr "Sélectionnez les catégories sur lesquelles la lettre d'information " -"porte. Les utilisateurs ne recevront la lettre d'information que si elle " -"concerne au moins l'une des catégories auxquelles l'utilisateur s'est abonné." - -msgid "Example for newsletter topics with subtopics in yaml format. " -"Note: Deeper structures are not supported." -"\n" -"```\n" -"Organisation:\n" -" - Topic 1:\n" -" - Subtopic 1.1\n" -" - Subtopic 1.2\n" -" - Topic 2\n" -" - Topic 3:\n" -" - Subtopic 3.1\n" -"```" -msgstr "Exemple de sujets de newsletter avec des sous-sujets au format yaml. " -"Note : Les structures plus profondes ne sont pas prises en charge. " -"\n" -"```\n" -"Organisation:\n" -" - Thème 1:\n" -" - Sous-thème 1.1\n" -" - Sous-thème 1.2\n" -" - Thème 2\n" -" - Thème 3:\n" -" - Sous-thème 3.1" -"```" - msgid "There are currently ${count} recipients registered." msgstr "Il y a actuellement ${count} destinataires enregistrés." -msgid "Signup" -msgstr "S'abonner" - msgid "Archive" msgstr "Archiver" @@ -5037,15 +5058,10 @@ msgstr "" #, python-format msgid "" "Success! We have sent a confirmation link to ${address}, if we didn't send " -"you one already. Your subscribed categories are ${subscribed}." +"you one already." msgstr "" "C'est fait! Nous avons envoyé un lien de confirmation vers ${address}, si " -"nous ne vous en avions pas déjà envoyé un. Vos catégories abonnées sont " -"${subscribed}." - -msgid "You subscribed to the following newsletter categories:" -msgstr "Vous vous êtes abonné aux catégories de lettres d'information " -"suivantes:" +"nous ne vous en avions pas déjà envoyé un." msgid "Notification for new entries" msgstr "Notification pour les nouvelles entrées" @@ -5358,10 +5374,29 @@ msgid "Welcome to the ${org} Newsletter" msgstr "Bienvenue sur la lettre d'information ${org}" #, python-format -msgid "Success! We have added ${address} to the list of recipients. " -"Subscribed categories are ${subscribed}." -msgstr "Succès! Nous avons ajouté ${address} à la liste des destinataires. " -"Les catégories abonnées sont ${subscribed}." +msgid "" +"Success! We have added ${address} to the list of recipients. Subscribed " +"categories are ${subscribed}." +msgstr "" +"Succès! Nous avons ajouté ${address} à la liste des destinataires. Les " +"catégories abonnées sont ${subscribed}." + +#, python-format +msgid "" +"Success! We have sent a confirmation link to ${address}, if we didn't send " +"you one already. Your subscribed categories are ${subscribed}." +msgstr "" +"C'est fait! Nous avons envoyé un lien de confirmation vers ${address}, si " +"nous ne vous en avions pas déjà envoyé un. Vos catégories abonnées sont " +"${subscribed}." + +# python-format +#, python-format +msgid "Success! We have updated your subscribed categories to ${subscribed}." +msgstr "Succès! Nous avons mis à jour vos catégories abonnées à ${subscribed}." + +msgid "Update Newsletter Subscription" +msgstr "Mettre à jour l'abonnement à la lettre d'information" msgid "A newsletter with this name already exists" msgstr "Il existe déjà une lettre d'information avec ce nom" @@ -6046,6 +6081,20 @@ msgstr "Un compte a été créé pour vous" msgid "The user was created successfully" msgstr "L'utilisateur a bien été créé" +#~ msgid "Update Subscription" +#~ msgstr "Mise à jour de l'abonnement" + +#~ msgid "Update your newsletter subscription categories:" +#~ msgstr "Mettre à jour les catégories d'abonnement à la newsletter:" + +#~ msgid "Sign up to our newsletter to always stay up to date:" +#~ msgstr "" +#~ "Abonnez-vous à notre lettre d'informations pour rester au courant en " +#~ "permanence :" + +#~ msgid "Signup" +#~ msgstr "S'abonner" + #, python-format #~ msgid "" #~ "The date range overlaps with an existing submission window (${range})." diff --git a/src/onegov/org/locale/it_CH/LC_MESSAGES/onegov.org.po b/src/onegov/org/locale/it_CH/LC_MESSAGES/onegov.org.po index 63f57132ff..93ebafa9d8 100644 --- a/src/onegov/org/locale/it_CH/LC_MESSAGES/onegov.org.po +++ b/src/onegov/org/locale/it_CH/LC_MESSAGES/onegov.org.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2024-08-20 16:02+0200\n" +"POT-Creation-Date: 2024-08-29 15:08+0200\n" "PO-Revision-Date: 2022-03-15 10:52+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -1053,6 +1053,18 @@ msgstr "Eventi" msgid "Publications" msgstr "Pubblicazioni" +msgid "Categories" +msgstr "Categorie" + +msgid "" +"Select categories the newsletter reports on. The users will receive the " +"newsletter only if it reports on at least one of the categories the user " +"subscribed to." +msgstr "" +"Selezionare le categorie per le quali viene segnalata la newsletter. Gli " +"utenti riceveranno la newsletter solo se si riferisce ad almeno una delle " +"categorie a cui l'utente si è iscritto." + msgid "Send" msgstr "Invia" @@ -1850,6 +1862,57 @@ msgstr "Includi il logo nella newsletter" msgid "Allow secret content in newsletter" msgstr "Consentire contenuti segreti nella newsletter" +msgid "Newsletter categories" +msgstr "Categorie di newsletter" + +msgid "" +"Example for newsletter topics with subtopics in yaml format. Note: Deeper " +"structures are not supported.\n" +"```\n" +"Organisation:\n" +" - Topic 1:\n" +" - Subtopic 1.1\n" +" - Subtopic 1.2\n" +" - Topic 2\n" +" - Topic 3:\n" +" - Subtopic 3.1\n" +"```" +msgstr "" +"Esempio di argomenti di newsletter con sottoargomenti in formato yaml. Nota: " +"Le strutture più profonde non sono supportate.\n" +"```\n" +"Organizzazione:\n" +" - Argomento 1:\n" +" - Sottotema 1.1\n" +" - Sottotema 1.2\n" +" - Argomento 2\n" +" - Argomento 3:\n" +" - Sottotema 3.1\n" +"```" + +msgid "Invalid YAML format. Please refer to the example." +msgstr "Formato YAML non valido. Fare riferimento all'esempio." + +msgid "" +"Invalid format. Please define an organisation name with topics and subtopics " +"according the example." +msgstr "" +"Formato non valido. Definire un nome di organizzazione con argomenti e " +"sottoargomenti secondo l'esempio." + +msgid "" +"Invalid format. Please define topics and subtopics according to the example." +msgstr "" +"Formato non valido. Definire gli argomenti e i sottoargomenti secondo " +"l'esempio." + +msgid "" +"Invalid format. Only topics and subtopics are allowed - no deeper structures " +"supported." +msgstr "" +"Formato non valido. Sono ammessi solo argomenti e sottoargomenti, non sono " +"supportate strutture più profonde." + msgid "Old domain" msgstr "Vecchio dominio" @@ -1947,6 +2010,13 @@ msgstr "Durata dello stato di archiviazione fino alla cancellazione automatica" msgid "E-Mail Address" msgstr "Indirizzo e-mail" +msgid "" +"Select newsletter categories your are interested in. You will receive the " +"newsletter if it reports on at least one of the subscribed categories." +msgstr "" +"Selezionate le categorie di newsletter a cui siete interessati. Riceverete " +"la newsletter se riporta almeno una delle categorie sottoscritte" + msgid "Submission Window" msgstr "Finestra di presentazione" @@ -2225,9 +2295,6 @@ msgstr "Modulo esterno" msgid "New external form" msgstr "Nuovo modulo esterno" -msgid "Results" -msgstr "Risultati" - msgid "Do you really want to delete this submission window?" msgstr "Vuoi davvero eliminare questa finestra di invio?" @@ -2237,6 +2304,9 @@ msgstr "Le iscrizioni esistenti verranno dissociate." msgid "Delete submission window" msgstr "Elimina la finestra di invio" +msgid "Results" +msgstr "Risultati" + msgid "Do you really want to delete this survey?" msgstr "Vuoi davvero eliminare questo sondaggio?" @@ -2442,6 +2512,9 @@ msgstr "Newsletter" msgid "New" msgstr "Nuovo" +msgid "Newsletter Subscription" +msgstr "Abbonamento alla newsletter " + msgid "Subscribers" msgstr "Iscritti" @@ -2594,6 +2667,12 @@ msgstr "" " - Le URL verranno trasformate in collegamenti\n" " - Anche e-mail e numeri di telefono" +msgid "Inherit address from another topic" +msgstr "Ereditare l'indirizzo da un altro argomento" + +msgid "Topic to inherit from" +msgstr "Argomento da cui ereditare" + msgid "Hide contact info in sidebar" msgstr "Nascondi le informazioni di contatto nella sidebar" @@ -2835,8 +2914,8 @@ msgstr "Il rifiuto di ${title} non può essere annullato." msgid "Reject reservation" msgstr "Rifiuta prenotazione" -#. Used in sentence: "${event} published." #. +#. Used in sentence: "${event} published." msgid "Event" msgstr "Evento" @@ -3221,9 +3300,6 @@ msgstr "Segui questo collegamento per accedere." msgid "No forms defined yet." msgstr "Nessun modulo ancora definito." -msgid "Categories" -msgstr "Categorie" - msgid "" "To edit the image descriptions, click on one, enter your descrption and " "press return. To abort press escape." @@ -3619,26 +3695,20 @@ msgid "" "newsletter:" msgstr "Ricevi questa mail perché sei iscritto alla seguente newsletter:" +msgid "You subscribed to the following newsletter categories:" +msgstr "Ti sei iscritto alle seguenti categorie di newsletter:" + msgid "Please click the following link to confirm your subscription:" msgstr "Fai clic sul seguente collegamento per confermare l'iscrizione:" msgid "Confirm subscription" msgstr "Conferma l'Iscrizione" -msgid "Newsletter Subscription" -msgstr "Abbonamento alla newsletter " - -msgid "Update Newsletter Subscription" -msgstr "Aggiornare l'abbonamento alla newsletter " - -msgid "Update Subscription" -msgstr "Aggiornare l'abbonamento" - msgid "To update your subscription categories click here:" msgstr "Per aggiornare le categorie di abbonamento, fare clic qui:" -msgid "Update your newsletter subscription categories:" -msgstr "Aggiornare le categorie di abbonamento alla newsletter:" +msgid "Update subscription" +msgstr "Aggiornare l' iscrizione" msgid "" "If you did not subscribe to this newsletter you can simply ignore this e-" @@ -4110,56 +4180,9 @@ msgstr "" "La newsletter è disabilitata. Puoi vedere questa pagina solo perché hai " "fatto il login." -msgid "Sign up to our newsletter to always stay up to date:" -msgstr "Iscriviti alla nostra newsletter per rimanere sempre aggiornato:" - -# python-format -msgid "Success! We have updated your subscribed categories to ${subscribed}." -msgstr "Successo! Abbiamo aggiornato le categorie sottoscritte a ${subscribed}." - -msgid "Select newsletter categories your are interested in. You will receive " -"the newsletter if it reports on at least one of the subscribed categories." -msgstr "Selezionate le categorie di newsletter a cui siete interessati. " -"Riceverete la newsletter se riporta almeno una delle categorie sottoscritte" - -msgid "Select categories the newsletter reports on. The users will receive the " -"newsletter only if it reports on at least one of the categories the user " -"subscribed to." -msgstr "Selezionare le categorie per le quali viene segnalata la newsletter. " -"Gli utenti riceveranno la newsletter solo se si riferisce ad almeno una " -"delle categorie a cui l'utente si è iscritto." - -msgid "Example for newsletter topics with subtopics in yaml format. " -"Note: Deeper structures are not supported." -"\n" -"```\n" -"Organisation:\n" -" - Topic 1:\n" -" - Subtopic 1.1\n" -" - Subtopic 1.2\n" -" - Topic 2\n" -" - Topic 3:\n" -" - Subtopic 3.1\n" -"```" -msgstr "Esempio di argomenti di newsletter con sottoargomenti in formato yaml. " -"Nota: Le strutture più profonde non sono supportate." -"\n" -"```\n" -"Organizzazione:\n" -" - Argomento 1:\n" -" - Sottotema 1.1\n" -" - Sottotema 1.2\n" -" - Argomento 2\n" -" - Argomento 3:\n" -" - Sottotema 3.1\n" -"```" - msgid "There are currently ${count} recipients registered." msgstr "Al momento ci sono ${count} destinatari registrati." -msgid "Signup" -msgstr "Registrati" - msgid "Archive" msgstr "Archivia" @@ -5016,14 +5039,10 @@ msgstr "" #, python-format msgid "" "Success! We have sent a confirmation link to ${address}, if we didn't send " -"you one already. Your subscribed categories are ${subscribed}." +"you one already." msgstr "" "La richiesta ha avuto esito positivo! Abbiamo inviato un collegamento di " -"conferma a ${address}, se non te ne abbiamo già inviato uno. Le categorie " -"sottoscritte sono ${subscribed}." - -msgid "You subscribed to the following newsletter categories:" -msgstr "Ti sei iscritto alle seguenti categorie di newsletter:" +"conferma a ${address}, se non te ne abbiamo già inviato uno." msgid "Notification for new entries" msgstr "Notifica per nuovi elementi" @@ -5343,10 +5362,30 @@ msgid "Welcome to the ${org} Newsletter" msgstr "Benvenuto nella newsletter di ${org}" #, python-format -msgid "Success! We have added ${address} to the list of recipients. " -"Subscribed categories are ${subscribed}." -msgstr "Successo! Abbiamo aggiunto ${indirizzo} alla lista dei destinatari. " -"Le categorie sottoscritte sono ${subscribed}." +msgid "" +"Success! We have added ${address} to the list of recipients. Subscribed " +"categories are ${subscribed}." +msgstr "" +"Successo! Abbiamo aggiunto ${indirizzo} alla lista dei destinatari. Le " +"categorie sottoscritte sono ${subscribed}." + +#, python-format +msgid "" +"Success! We have sent a confirmation link to ${address}, if we didn't send " +"you one already. Your subscribed categories are ${subscribed}." +msgstr "" +"La richiesta ha avuto esito positivo! Abbiamo inviato un collegamento di " +"conferma a ${address}, se non te ne abbiamo già inviato uno. Le categorie " +"sottoscritte sono ${subscribed}." + +# python-format +#, python-format +msgid "Success! We have updated your subscribed categories to ${subscribed}." +msgstr "" +"Successo! Abbiamo aggiornato le categorie sottoscritte a ${subscribed}." + +msgid "Update Newsletter Subscription" +msgstr "Aggiornare l'abbonamento alla newsletter " msgid "A newsletter with this name already exists" msgstr "Esiste già una newsletter con questo nome" @@ -6030,6 +6069,18 @@ msgstr "È stato creato un account per te" msgid "The user was created successfully" msgstr "Utente creato correttamente" +#~ msgid "Update Subscription" +#~ msgstr "Aggiornare l'abbonamento" + +#~ msgid "Update your newsletter subscription categories:" +#~ msgstr "Aggiornare le categorie di abbonamento alla newsletter:" + +#~ msgid "Sign up to our newsletter to always stay up to date:" +#~ msgstr "Iscriviti alla nostra newsletter per rimanere sempre aggiornato:" + +#~ msgid "Signup" +#~ msgstr "Registrati" + #, python-format #~ msgid "" #~ "The date range overlaps with an existing submission window (${range})." diff --git a/src/onegov/org/models/extensions.py b/src/onegov/org/models/extensions.py index 818b43229d..82b44292cf 100644 --- a/src/onegov/org/models/extensions.py +++ b/src/onegov/org/models/extensions.py @@ -11,6 +11,7 @@ from onegov.form.utils import remove_empty_links from onegov.file import File, FileCollection from onegov.form import FieldDependency, WTFormsClassBuilder +from onegov.form.fields import ChosenSelectField from onegov.gis import CoordinatesMixin from onegov.org import _ from onegov.org.forms import ResourceForm @@ -18,6 +19,7 @@ from onegov.org.forms.extensions import PublicationFormExtension from onegov.org.forms.fields import UploadOrSelectExistingMultipleFilesField from onegov.org.observer import observes +from onegov.page import Page, PageCollection from onegov.people import Person, PersonCollection from onegov.reservation import Resource from sqlalchemy import inspect @@ -28,7 +30,7 @@ from wtforms.fields import RadioField from wtforms.fields import StringField from wtforms.fields import TextAreaField -from wtforms.validators import ValidationError +from wtforms.validators import InputRequired, ValidationError from typing import Any, ClassVar, TypeVar, TYPE_CHECKING @@ -225,9 +227,8 @@ class VisibleOnHomepageForm(form_class): # type:ignore return VisibleOnHomepageForm -class ContactExtension(ContentExtension): - """ Extends any class that has a content dictionary field with a simple - contacts field. +class ContactExtensionBase: + """ Common base class for extensions that add a contact field. """ @@ -235,7 +236,7 @@ class ContactExtension(ContentExtension): @contact.setter # type:ignore[no-redef] def contact(self, value: str | None) -> None: - self.content['contact'] = value + self.content['contact'] = value # type:ignore[attr-defined] # update cache self.__dict__['contact_html'] = to_html_ul( self.contact, convert_dashes=True, with_title=True @@ -247,6 +248,9 @@ def contact_html(self) -> 'Markup | None': return None return to_html_ul(self.contact, convert_dashes=True, with_title=True) + def get_contact_html(self, request: 'OrgRequest') -> 'Markup | None': + return self.contact_html + def extend_form( self, form_class: type['FormT'], @@ -266,6 +270,79 @@ class ContactPageForm(form_class): # type:ignore return ContactPageForm +class ContactExtension(ContactExtensionBase, ContentExtension): + """ Extends any class that has a content dictionary field with a simple + contacts field. + + """ + + +class InheritableContactExtension(ContactExtensionBase, ContentExtension): + """ Extends any class that has a content dictionary field with a simple + contacts field, that can optionally be inherited from another topic. + + """ + + inherit_contact: dict_property[bool] = content_property(default=False) + contact_inherited_from: dict_property[int | None] = content_property() + + # TODO: If we end up calling this more than once per request + # we may want to cache this + def get_contact_html(self, request: 'OrgRequest') -> 'Markup | None': + if self.inherit_contact: + if self.contact_inherited_from is None: + return None + + pages = PageCollection(request.session) + page = pages.by_id(self.contact_inherited_from) + return getattr(page, 'contact_html', None) + + return self.contact_html + + def extend_form( + self, + form_class: type['FormT'], + request: 'OrgRequest' + ) -> type['FormT']: + + query = PageCollection(request.session).query() + query = query.filter(Page.type == 'topic') + query = query.filter(Page.content['contact'].isnot(None)) + if isinstance(self, Page): + # avoid circular reference + query = query.filter(Page.id != self.id) + query = query.order_by(Page.title) + + class InheritableContactPageForm(form_class): # type:ignore + + contact = TextAreaField( + label=_("Address"), + fieldset=_("Contact"), + render_kw={'rows': 5}, + description=_("- '-' will be converted to a bulleted list\n" + "- Urls will be transformed into links\n" + "- Emails and phone numbers as well"), + depends_on=('inherit_contact', '!y') + ) + + inherit_contact = BooleanField( + label=_("Inherit address from another topic"), + fieldset=_("Contact"), + default=False + ) + + contact_inherited_from = ChosenSelectField( + label=_("Topic to inherit from"), + fieldset=_("Contact"), + coerce=int, + choices=query.with_entities(Page.id, Page.title).all(), + depends_on=('inherit_contact', 'y'), + validators=[InputRequired()] + ) + + return InheritableContactPageForm + + class ContactHiddenOnPageExtension(ContentExtension): """ Extends any class that has a content dictionary field with a simple contacts field. diff --git a/src/onegov/org/models/page.py b/src/onegov/org/models/page.py index 0512eacfc9..7dda0d570e 100644 --- a/src/onegov/org/models/page.py +++ b/src/onegov/org/models/page.py @@ -6,7 +6,7 @@ from onegov.org.forms import LinkForm, PageForm, IframeForm from onegov.org.models.atoz import AtoZ from onegov.org.models.extensions import ( - ContactExtension, ContactHiddenOnPageExtension, + InheritableContactExtension, ContactHiddenOnPageExtension, PeopleShownOnMainPageExtension, ImageExtension, NewsletterExtension, PublicationExtension, DeletableContentExtension ) @@ -34,7 +34,7 @@ class Topic(Page, TraitInfo, SearchableContent, AccessExtension, PublicationExtension, VisibleOnHomepageExtension, - ContactExtension, ContactHiddenOnPageExtension, + InheritableContactExtension, ContactHiddenOnPageExtension, PeopleShownOnMainPageExtension, PersonLinkExtension, CoordinatesExtension, ImageExtension, GeneralFileLinkExtension, SidebarLinksExtension): @@ -136,7 +136,7 @@ def get_form_class( class News(Page, TraitInfo, SearchableContent, NewsletterExtension, AccessExtension, PublicationExtension, VisibleOnHomepageExtension, - ContactExtension, ContactHiddenOnPageExtension, + InheritableContactExtension, ContactHiddenOnPageExtension, PeopleShownOnMainPageExtension, PersonLinkExtension, CoordinatesExtension, ImageExtension, GeneralFileLinkExtension, DeletableContentExtension): @@ -200,7 +200,7 @@ def is_supported_trait(self, trait: str) -> bool: def get_root_page_form_class(self, request: 'OrgRequest') -> type[Form]: return self.with_content_extensions( Form, request, extensions=( - ContactExtension, ContactHiddenOnPageExtension, + InheritableContactExtension, ContactHiddenOnPageExtension, PersonLinkExtension, AccessExtension ) ) diff --git a/src/onegov/org/templates/mail_confirm.pt b/src/onegov/org/templates/mail_confirm.pt index a96ad989a1..5291f26968 100644 --- a/src/onegov/org/templates/mail_confirm.pt +++ b/src/onegov/org/templates/mail_confirm.pt @@ -5,7 +5,7 @@

Hello

-

You are recieving this mail because you subscribed to the following newsletter:

+

You are receiving this mail because you subscribed to the following newsletter:

${layout.org.title} You subscribed to the following newsletter categories: diff --git a/src/onegov/org/templates/news.pt b/src/onegov/org/templates/news.pt index 17097e20f7..b13e642422 100644 --- a/src/onegov/org/templates/news.pt +++ b/src/onegov/org/templates/news.pt @@ -35,6 +35,6 @@ + tal:define="lead page.content.get('lead');text page.text|None; people page.people; contact page.get_contact_html(request); coordinates page.coordinates; files page.files; sidepanel_links page.sidepanel_links|False;" /> diff --git a/src/onegov/org/templates/topic.pt b/src/onegov/org/templates/topic.pt index 498b0f7f8b..15f84ee73e 100644 --- a/src/onegov/org/templates/topic.pt +++ b/src/onegov/org/templates/topic.pt @@ -11,7 +11,7 @@ + tal:define="lead layout.linkify(page.content.get('lead'));text page.text|None; people page.people; contact page.get_contact_html(request); coordinates page.coordinates; files page.files; sidepanel_links page.sidepanel_links;">

diff --git a/src/onegov/town6/layout.py b/src/onegov/town6/layout.py index af8c18bf8d..2f4a1f5a1d 100644 --- a/src/onegov/town6/layout.py +++ b/src/onegov/town6/layout.py @@ -252,7 +252,9 @@ class PageLayout(OrgPageLayout, AdjacencyListLayout): @cached_property def contact_html(self) -> str: - return self.model.contact_html or to_html_ul(self.org.contact) + return self.model.get_contact_html(self.request) or to_html_ul( + self.org.contact + ) class NewsLayout(OrgNewsLayout, AdjacencyListLayout): @@ -262,7 +264,7 @@ class NewsLayout(OrgNewsLayout, AdjacencyListLayout): @cached_property def contact_html(self) -> str: - return self.model.contact_html or to_html_ul( + return self.model.get_contact_html(self.request) or to_html_ul( self.org.contact, convert_dashes=False ) diff --git a/src/onegov/town6/templates/mail_confirm.pt b/src/onegov/town6/templates/mail_confirm.pt index 101bfd3e88..bb69eba8db 100644 --- a/src/onegov/town6/templates/mail_confirm.pt +++ b/src/onegov/town6/templates/mail_confirm.pt @@ -5,7 +5,7 @@

Hello

-

You are recieving this mail because you subscribed to the following newsletter:

+

You are receiving this mail because you subscribed to the following newsletter:

${layout.org.title} You subscribed to the following newsletter categories: