diff options
author | buttle <chris@gatopelao.org> | 2023-10-15 10:02:02 +0200 |
---|---|---|
committer | buttle <chris@gatopelao.org> | 2023-10-15 10:02:02 +0200 |
commit | 226ef18f7d2b1bbe15bd859e3fe2dac792382367 (patch) | |
tree | 9ea3c67ac2c2e854fa3b9dc87059d895f5d00ad5 | |
parent | 58c7b10a4e27e437c5be87ec78c58a5226655d0f (diff) | |
parent | 67d5330839f0309f6c8d6804d870c249c2eace3a (diff) |
Merge branch 'develop' into chore/L10n
28 files changed, 428 insertions, 245 deletions
diff --git a/assets/gdpr-wizard/disclaimer.es.md b/assets/gdpr-wizard/disclaimer.es.md index e2a6c5c1..37ec60e5 100644 --- a/assets/gdpr-wizard/disclaimer.es.md +++ b/assets/gdpr-wizard/disclaimer.es.md @@ -1,12 +1,12 @@ -This wizard will help you to use best practices when writing your Privacy statements. +Este asistente te ayudará a hacer uso de los criterios más adecuados a la hora de escribir tus declaraciones de privacidad. -Privacy statements generated by this wizard are best-effort only and are not legally binding. +Las declaraciones de privacidad generadas por este asistente están hechas con la mejor intención, sin embargo no son legalmente vinculantes. -Please keep in mind that: +Por favor, ten en cuenta que: -* The text provided by the wizard is only a recommendation and it's validity will depend on the information you provide. -* We strongly advise you check our recommendations and legal texts with your legal department or a professional you trust, so you can adapt them to your local legislation. +* El texto proporcionado por el asistente es solo una recomendación y su validez dependerá de la información que proporciones. +* Te recomendamos que consultes nuestras recomendaciones y textos legales con tu departamento jurídico o con un profesional de confianza, para que puedas adaptarlos a tu legislación local. -Please see the Terms of Service of {{ organization_name }} for more information. +Consulta las Condiciones del servicio de {{organization_name }} para obtener más información. diff --git a/liberaforms/domain/form.py b/liberaforms/domain/form.py index 22663374..cb1370f6 100644 --- a/liberaforms/domain/form.py +++ b/liberaforms/domain/form.py @@ -148,7 +148,7 @@ def notify_public_form_submission(form, emails.append(form_user.user.email) if emails: try: - Dispatcher().send_edited_answer_notification(emails, form, answer) + Dispatcher().send_edited_answer_notification(emails, form) except Exception as error: current_app.logger.error(error) else: diff --git a/liberaforms/models/user.py b/liberaforms/models/user.py index f5258ab8..a0186fb3 100644 --- a/liberaforms/models/user.py +++ b/liberaforms/models/user.py @@ -184,6 +184,13 @@ class User(db.Model, CRUD): """Has this user validated their email.""" return self.validated_email + def get_language(self) -> str: + if self.preferences["language"] not in current_app.config['LANGUAGES'].keys(): + # lang_code translation may be missing after major version release + self.preferences["language"] = "en" + self.save() + return self.preferences["language"] + def get_avatar_src(self, as_base64=False): avatars_dir = os.path.join(current_app.config['UPLOADS_DIR'], current_app.config['AVATAR_DIR']) diff --git a/liberaforms/static/css/main-backend.css b/liberaforms/static/css/main-backend.css index 4a82b36b..8c600d69 100644 --- a/liberaforms/static/css/main-backend.css +++ b/liberaforms/static/css/main-backend.css @@ -14029,6 +14029,9 @@ a.badge { .ds-inline-help .ds-inline-help-menu .nav-link:before { content: " - "; } +.ds-inline-help .ds-inline-help-menu .ds-search { + background-color: var(--lf-gray-100); +} .ds-inline-help .ds-inline-help-page { padding: 1rem; background-color: var(--lf-gray-100); diff --git a/liberaforms/static/js/inline_help.js b/liberaforms/static/js/inline_help.js index f6e10ca1..e0c5cd97 100644 --- a/liberaforms/static/js/inline_help.js +++ b/liberaforms/static/js/inline_help.js @@ -78,6 +78,7 @@ function inline_help_go_back() { function inline_help_reset() { inline_help_cache = {} inline_help_history = [] + $("input[type='search']").val("") } function inline_help_retieve_page(file_name) { return new Promise(function(resolve, reject) { @@ -115,12 +116,61 @@ function inline_help_retieve_page(file_name) { }); }) } +function search_inline_help(event) { + if (event.key == "Enter") { + do_search().then(function(data) { + delete inline_help_cache["search"]; + let search_item_pos = inline_help_history.indexOf("search"); + if (search_item_pos > -1) { + inline_help_history.splice(search_item_pos, 1) + } + var html = "" + for (let page_name of Object.keys(data.result)) { + let block = "<h2>" + page_name + "</h2>" + lines = "" + for (let line of data.result[page_name]) { + lines = lines + line + "<br />" + } + html = html + block + lines + } + _inline_help_history_push("search") + let page_title = $("input[type='search']").attr('placeholder') + ": " + $("input[type=search]").val() + inline_help_cache["search"] = {"html": html, "title": page_title } + $('#inline_help_page').html(html) + $('#inline_help_page_title').html(page_title) + }); + } +} + +function do_search() { + return new Promise(function(resolve, reject) { + $.ajax({ + url : "/site/search-help", + type: "POST", + contentType: "application/json", + data : JSON.stringify({"search_string": $("input[type=search]").val()}), + dataType: "json", + beforeSend: function(xhr, settings) { + if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) { + xhr.setRequestHeader("X-CSRFToken", csrftoken) + } + }, + success: function(data, textStatus, jqXHR) { + resolve(data) // Resolve promise and goto then() + }, + error: function(err) { + reject(err) // Reject the promise and goto catch() + } + }); + }); +} const inline_help_template = ` <div id="inline_help" class="grid ds-inline-help pt-2" style="display:none; --lf-gap: 0;"> <div class="navbar g-col-12 ds-inline-help-page-header"> <div> <a id="inline_help_back_button" href="#" onclick="js:inline_help_go_back()"" class="align-middle"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-left" aria-hidden="true"><polyline points="15 18 9 12 15 6"></polyline></svg><span>%Go_back%</span></a> </div> + <div class="d-flex"> <button class="ds-button-navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarHelpContent" aria-controls="navbarHelpContent" aria-expanded="false" aria-label="Toggle navigation"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-more-vertical"><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg> diff --git a/liberaforms/static/sass/backend/_main.scss b/liberaforms/static/sass/backend/_main.scss index a061126e..b09d337c 100644 --- a/liberaforms/static/sass/backend/_main.scss +++ b/liberaforms/static/sass/backend/_main.scss @@ -51,6 +51,9 @@ content: ' - '; } } + .ds-search { + background-color: var(--lf-gray-100); + } } .ds-inline-help-page { padding: $spacer; diff --git a/liberaforms/templates/answers/history.html b/liberaforms/templates/answers/history.html index 6d1dfd24..cfdab365 100644 --- a/liberaforms/templates/answers/history.html +++ b/liberaforms/templates/answers/history.html @@ -14,7 +14,7 @@ <div class="grid ds-header-title-nested mt-2"> <div class="g-col-12 d-flex align-items-center justify-content-between"> <h2>{{ _("Answer edition history") }}</h2> - <a href="{{url_for('form_bp.list_log', form_id=form.id)}}" class="btn btn-sm btn-outline-primary">{{ _("View log") }}</a> + <a href="{{url_for('form_bp.list_log', form_id=form.id)}}" class="btn btn-sm btn-primary">{{ _("View log") }}</a> </div> </div> diff --git a/liberaforms/templates/site/partials/inline_help_menu.html b/liberaforms/templates/site/partials/inline_help_menu.html index fbc3e038..37cd9692 100644 --- a/liberaforms/templates/site/partials/inline_help_menu.html +++ b/liberaforms/templates/site/partials/inline_help_menu.html @@ -21,6 +21,10 @@ </li> {% endfor %} {% endif %} + + <li class="nav-item mt-4"> + <input id="search_text" class="form-control ds-search" type="search" placeholder='{{_("Search")}}' onkeypress="search_inline_help(event)" aria-label='{{_("Search")}}'> + </li> </ul> </div> </nav> diff --git a/liberaforms/templates/user/user-settings.html b/liberaforms/templates/user/user-settings.html index e344df60..2bf5898a 100644 --- a/liberaforms/templates/user/user-settings.html +++ b/liberaforms/templates/user/user-settings.html @@ -40,7 +40,7 @@ <a class="ds-link-contain-icon" href="{{url_for('user_bp.set_avatar')}}">{{ _("Change") }} <i data-feather="chevron-right" aria-hidden="true"></i></a> </li> <li> - <span>{{ _("Language") }}: <strong>{{ config['LANGUAGES'][current_user.preferences["language"]][0] }}</strong></span> + <span>{{ _("Language") }}: <strong>{{ config['LANGUAGES'][current_user.get_language()][0] }}</strong></span> <a class="ds-link-contain-icon" href="{{url_for('user_bp.change_language')}}">{{ _("Change") }} <i data-feather="chevron-right" aria-hidden="true"></i></a> </li> <li> diff --git a/liberaforms/translations/ca/LC_MESSAGES/messages.po b/liberaforms/translations/ca/LC_MESSAGES/messages.po index 7e110685..cd191d94 100644 --- a/liberaforms/translations/ca/LC_MESSAGES/messages.po +++ b/liberaforms/translations/ca/LC_MESSAGES/messages.po @@ -7,17 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: 2023-10-03 16:05+0000\n" "Last-Translator: buttle <chris@liberaforms.org>\n" -"Language-Team: Catalan <https://hosted.weblate.org/projects/liberaforms/" -"server-liberaforms/ca/>\n" "Language: ca\n" +"Language-Team: Catalan <https://hosted.weblate.org/projects/liberaforms" +"/server-liberaforms/ca/>\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.1-dev\n" "Generated-By: Babel 2.10.3\n" #: assets/inline_help/menu.json:4 @@ -5287,6 +5286,11 @@ msgstr "Les estadístiques corresponen als darrers dotze mesos." msgid "Total users" msgstr "Total d'usuaris" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +#, fuzzy +msgid "Search" +msgstr "Usuari" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 msgid "Add and remove privacy statements" msgstr "Editar i eliminar declaracions de privacitat" @@ -5678,7 +5682,7 @@ msgstr "Afegir aquí un nom de camp apropiat" msgid "Privacy statement required" msgstr "És necessària una declaració de privacitat" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, python-format msgid "Cannot find the file %(file_name)s" msgstr "No s'ha pogut trobar el fitxer %(file_name)s" @@ -5918,8 +5922,8 @@ msgstr "%(email)s ha acceptat la teva invitació." #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "Salutacions." @@ -5969,8 +5973,8 @@ msgstr "Nou usuari '%(username)s' creat a %(site_name)s." #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "Hola" @@ -5994,31 +5998,31 @@ msgstr "El formulari '%(form_name)s' a '%(site_name)s' ha estat contestat." msgid "%(site_name)s. New form answer" msgstr "%(site_name)s. Nova resposta de formulari" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "S'ha editat una resposta de '%(form_name)s'." -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, python-format msgid "%(site_name)s. Edited form answer" msgstr "%(site_name)s. Resposta de formulari editada" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "Missatge de confirmació" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "El formulari '%(form_name)s' ha caducat a %(site_name)s." -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, python-format msgid "%(site_name)s. A form has expired" msgstr "%(site_name)s. Un formulari ha caducat" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, python-format msgid "Error at %(site_name)s" msgstr "Error a %(site_name)s" @@ -6474,7 +6478,7 @@ msgid "Changed data protection law OK" msgstr "S'ha canviat la llei de protecció de dades correctament" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "%(sitename)s %(feed_type)s flux" @@ -8229,3 +8233,4 @@ msgstr "Les credencials són errònies" #~ msgid "Settings used for data protection." #~ msgstr "Configuració usada per protecció de dades." + diff --git a/liberaforms/translations/cs/LC_MESSAGES/messages.po b/liberaforms/translations/cs/LC_MESSAGES/messages.po index c28bf8be..366bcfd4 100644 --- a/liberaforms/translations/cs/LC_MESSAGES/messages.po +++ b/liberaforms/translations/cs/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: info@liberaforms.org\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: 2022-04-08 07:14+0000\n" "Last-Translator: J. Lavoie <j.lavoie@net-c.ca>\n" "Language: cs\n" @@ -5067,6 +5067,10 @@ msgstr "" msgid "Total users" msgstr "" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +msgid "Search" +msgstr "" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 msgid "Add and remove privacy statements" msgstr "" @@ -5453,7 +5457,7 @@ msgstr "" msgid "Privacy statement required" msgstr "" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, python-format msgid "Cannot find the file %(file_name)s" msgstr "" @@ -5698,8 +5702,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "" @@ -5749,8 +5753,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "" @@ -5774,31 +5778,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, python-format msgid "%(site_name)s. Edited form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, python-format msgid "%(site_name)s. A form has expired" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, python-format msgid "Error at %(site_name)s" msgstr "" @@ -6256,7 +6260,7 @@ msgid "Changed data protection law OK" msgstr "" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "" diff --git a/liberaforms/translations/de/LC_MESSAGES/messages.po b/liberaforms/translations/de/LC_MESSAGES/messages.po index 049a4455..b4332cff 100644 --- a/liberaforms/translations/de/LC_MESSAGES/messages.po +++ b/liberaforms/translations/de/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: info@liberaforms.org\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: 2022-04-08 07:14+0000\n" "Last-Translator: J. Lavoie <j.lavoie@net-c.ca>\n" "Language: de\n" @@ -5060,6 +5060,10 @@ msgstr "" msgid "Total users" msgstr "" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +msgid "Search" +msgstr "" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 msgid "Add and remove privacy statements" msgstr "" @@ -5445,7 +5449,7 @@ msgstr "" msgid "Privacy statement required" msgstr "" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, python-format msgid "Cannot find the file %(file_name)s" msgstr "" @@ -5685,8 +5689,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "" @@ -5736,8 +5740,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "" @@ -5761,31 +5765,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, python-format msgid "%(site_name)s. Edited form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, python-format msgid "%(site_name)s. A form has expired" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, python-format msgid "Error at %(site_name)s" msgstr "" @@ -6241,7 +6245,7 @@ msgid "Changed data protection law OK" msgstr "" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "" diff --git a/liberaforms/translations/eo/LC_MESSAGES/messages.po b/liberaforms/translations/eo/LC_MESSAGES/messages.po index 99558468..e2e4d704 100644 --- a/liberaforms/translations/eo/LC_MESSAGES/messages.po +++ b/liberaforms/translations/eo/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: info@liberaforms.org\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: 2021-12-18 15:32+0000\n" "Last-Translator: LiberaForms <info@liberaforms.org>\n" "Language: eo\n" @@ -5324,6 +5324,11 @@ msgstr "" msgid "Total users" msgstr "Totala nombro de uzantoj" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +#, fuzzy +msgid "Search" +msgstr "Uzanto" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 #, fuzzy msgid "Add and remove privacy statements" @@ -5739,7 +5744,7 @@ msgstr "Aldonu taŭgan nomon de kampo ĉi tie" msgid "Privacy statement required" msgstr "Salutnomo ne kongruas" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, fuzzy, python-format msgid "Cannot find the file %(file_name)s" msgstr "Ne troviĝas la salutnomo «%s»" @@ -5988,8 +5993,8 @@ msgstr "Via invito estas akceptita de %s" #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "" @@ -6044,8 +6049,8 @@ msgstr "Nova uzanto «%s» kreiĝis je %s" #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "" @@ -6072,31 +6077,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "LiberaForms. Nova respondo al formularo" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, fuzzy, python-format msgid "%(site_name)s. Edited form answer" msgstr "LiberaForms. Nova respondo al formularo" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "Konfirma mesaĝo" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, fuzzy, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "La formularo «%s» eksvalidiĝis je %s" -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, fuzzy, python-format msgid "%(site_name)s. A form has expired" msgstr "LiberaForms. Formularo eksvalidiĝis" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, fuzzy, python-format msgid "Error at %(site_name)s" msgstr "Saluton %(user)s!" @@ -6573,7 +6578,7 @@ msgid "Changed data protection law OK" msgstr "Datumprotekto" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "" diff --git a/liberaforms/translations/es/LC_MESSAGES/messages.po b/liberaforms/translations/es/LC_MESSAGES/messages.po index efe93ae8..7b16f671 100644 --- a/liberaforms/translations/es/LC_MESSAGES/messages.po +++ b/liberaforms/translations/es/LC_MESSAGES/messages.po @@ -7,17 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: 2023-10-03 16:05+0000\n" "Last-Translator: buttle <chris@liberaforms.org>\n" -"Language-Team: Spanish <https://hosted.weblate.org/projects/liberaforms/" -"server-liberaforms/es/>\n" "Language: es\n" +"Language-Team: Spanish <https://hosted.weblate.org/projects/liberaforms" +"/server-liberaforms/es/>\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.1-dev\n" "Generated-By: Babel 2.10.3\n" #: assets/inline_help/menu.json:4 @@ -5310,6 +5309,11 @@ msgstr "Las estadísticas corresponden a los últimos doce meses." msgid "Total users" msgstr "Total de usuarios" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +#, fuzzy +msgid "Search" +msgstr "Usuario" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 msgid "Add and remove privacy statements" msgstr "Editar y eliminar declaraciones de privacidad" @@ -5701,7 +5705,7 @@ msgstr "Agrega un nombre de campo apropiado" msgid "Privacy statement required" msgstr "Es necesaria una declaración de privacidad" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, python-format msgid "Cannot find the file %(file_name)s" msgstr "No se puede encontrar el fichero %(file_name)s" @@ -5941,8 +5945,8 @@ msgstr "%(email)s ha aceptado tu invitación." #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "Saludos." @@ -5992,8 +5996,8 @@ msgstr "Nuevo usuario '%(username)s' creado en %(site_name)s." #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "Hola" @@ -6019,31 +6023,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "%(site_name)s. Nueva respuesta" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "Se ha editado una respuesta de '%(form_name)s'." -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, python-format msgid "%(site_name)s. Edited form answer" msgstr "%(site_name)s. Respuesta de formulario editarda" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "Mensaje de confirmación" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "El formulario '%(form_name)s' ha caducado en %(site_name)s." -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, python-format msgid "%(site_name)s. A form has expired" msgstr "%(site_name)s. Un formulario ha caducado" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, python-format msgid "Error at %(site_name)s" msgstr "Error en %(site_name)s" @@ -6499,7 +6503,7 @@ msgid "Changed data protection law OK" msgstr "Se ha cambiado la ley de protección de datos correctamente" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "Feed %(feed_type)s de %(sitename)s" @@ -8414,3 +8418,4 @@ msgstr "Las credenciales no son correctos" #~ msgid "Settings used for data protection." #~ msgstr "Configuración usada para protección de datos." + diff --git a/liberaforms/translations/eu/LC_MESSAGES/messages.po b/liberaforms/translations/eu/LC_MESSAGES/messages.po index b82115e2..a51bd203 100644 --- a/liberaforms/translations/eu/LC_MESSAGES/messages.po +++ b/liberaforms/translations/eu/LC_MESSAGES/messages.po @@ -8,17 +8,16 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: info@liberaforms.org\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: 2023-10-03 16:05+0000\n" "Last-Translator: Porrumentzio <porrumentzio@riseup.net>\n" -"Language-Team: Basque <https://hosted.weblate.org/projects/liberaforms/" -"server-liberaforms/eu/>\n" "Language: eu\n" +"Language-Team: Basque <https://hosted.weblate.org/projects/liberaforms" +"/server-liberaforms/eu/>\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.1-dev\n" "Generated-By: Babel 2.10.3\n" #: assets/inline_help/menu.json:4 @@ -5333,6 +5332,11 @@ msgstr "Azken hamabi hilabeteetako estatistikak." msgid "Total users" msgstr "Guztizko erabiltzaileak" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +#, fuzzy +msgid "Search" +msgstr "Erabiltzailea" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 msgid "Add and remove privacy statements" msgstr "Gehitu eta kendu pribatutasun-adierazpenak" @@ -5728,7 +5732,7 @@ msgstr "Gehitu eremu-izen egoki bat hemen" msgid "Privacy statement required" msgstr "Pribatutasun-adierazpena behar da" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, python-format msgid "Cannot find the file %(file_name)s" msgstr "Ez dugu topatu %(file_name)s fitxategia" @@ -5968,8 +5972,8 @@ msgstr "%(email)s(e)k zure gonbidapena onartu du." #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "Ondo segi." @@ -6019,8 +6023,8 @@ msgstr "\"%(username)s\" erabiltzailea sortu da %(site_name)s(e)n." #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "Kaixo" @@ -6046,31 +6050,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "%(site_name)s. Beste erantzun bat galdetegian" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "\"%(form_name)s\" galdetegiko erantzun bat zuzendu dute." -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, python-format msgid "%(site_name)s. Edited form answer" msgstr "%(site_name)s. Erantzun bat zuzendu dute galdetegian" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "Berrespen mezua" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "\"%(form_name)s\" galdetegia iraungi da, %(site_name)s webgunean." -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, python-format msgid "%(site_name)s. A form has expired" msgstr "%(site_name)s. Galdetegi bat iraungi zaizu" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, python-format msgid "Error at %(site_name)s" msgstr "Akatsa %(site_name)s(e)n" @@ -6526,7 +6530,7 @@ msgid "Changed data protection law OK" msgstr "Ongi aldatu da datuak babesteko legea" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "%(sitename)s(e)ko %(feed_type)s jarioa" @@ -7962,3 +7966,4 @@ msgstr "Kredentzial okerrak" #~ msgid "Settings used for data protection." #~ msgstr "Datuak babesteko erabilitako ezarpenak." + diff --git a/liberaforms/translations/fr/LC_MESSAGES/messages.po b/liberaforms/translations/fr/LC_MESSAGES/messages.po index f5b0d217..75e360b2 100644 --- a/liberaforms/translations/fr/LC_MESSAGES/messages.po +++ b/liberaforms/translations/fr/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: info@liberaforms.org\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: 2022-04-08 07:14+0000\n" "Last-Translator: J. Lavoie <j.lavoie@net-c.ca>\n" "Language: fr\n" @@ -5289,6 +5289,11 @@ msgstr "" msgid "Total users" msgstr "" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +#, fuzzy +msgid "Search" +msgstr "Utilisateur·rice" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 #, fuzzy msgid "Add and remove privacy statements" @@ -5696,7 +5701,7 @@ msgstr "" msgid "Privacy statement required" msgstr "Ce texte n’était pas valide" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, fuzzy, python-format msgid "Cannot find the file %(file_name)s" msgstr "Impossible de trouver le nom d'utilisateur %s" @@ -5944,8 +5949,8 @@ msgstr "Votre invitation a été acceptée par %s" #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "" @@ -5998,8 +6003,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "" @@ -6026,31 +6031,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, python-format msgid "%(site_name)s. Edited form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, fuzzy, python-format msgid "%(site_name)s. A form has expired" msgstr "Ce formulaire a expiré" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, fuzzy, python-format msgid "Error at %(site_name)s" msgstr "Bonjour %(user)s !" @@ -6522,7 +6527,7 @@ msgid "Changed data protection law OK" msgstr "Protection des données" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "" diff --git a/liberaforms/translations/it/LC_MESSAGES/messages.po b/liberaforms/translations/it/LC_MESSAGES/messages.po index 25f01efa..1c6887bd 100644 --- a/liberaforms/translations/it/LC_MESSAGES/messages.po +++ b/liberaforms/translations/it/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: info@liberaforms.org\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: 2022-04-08 07:14+0000\n" "Last-Translator: LiberaForms <info@liberaforms.org>\n" "Language: it\n" @@ -5325,6 +5325,11 @@ msgstr "" msgid "Total users" msgstr "Utenti totali" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +#, fuzzy +msgid "Search" +msgstr "Utente" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 #, fuzzy msgid "Add and remove privacy statements" @@ -5738,7 +5743,7 @@ msgstr "Aggiungi un nome appropriato per il campo" msgid "Privacy statement required" msgstr "L’uername non coincide" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, fuzzy, python-format msgid "Cannot find the file %(file_name)s" msgstr "È impossibile trovare l’username %s" @@ -5987,8 +5992,8 @@ msgstr "Il tuo invito è stato accettato da %s" #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "" @@ -6041,8 +6046,8 @@ msgstr "Nuovo utente “%s” creato su %s" #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "" @@ -6069,31 +6074,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "LiberaForms. Nuova risposta al modulo" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, fuzzy, python-format msgid "%(site_name)s. Edited form answer" msgstr "LiberaForms. Nuova risposta al modulo" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "Messaggio di conferma" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, fuzzy, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "Il modulo “%s” è scaduto su %s" -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, fuzzy, python-format msgid "%(site_name)s. A form has expired" msgstr "LiberaForm. Un modulo è scaduto" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, fuzzy, python-format msgid "Error at %(site_name)s" msgstr "Ciao %(user)s!" @@ -6574,7 +6579,7 @@ msgid "Changed data protection law OK" msgstr "Protezione dei dati" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "" diff --git a/liberaforms/translations/messages.pot b/liberaforms/translations/messages.pot index 76610177..bc060c1e 100644 --- a/liberaforms/translations/messages.pot +++ b/liberaforms/translations/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: info@liberaforms.org\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -5045,6 +5045,10 @@ msgstr "" msgid "Total users" msgstr "" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +msgid "Search" +msgstr "" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 msgid "Add and remove privacy statements" msgstr "" @@ -5430,7 +5434,7 @@ msgstr "" msgid "Privacy statement required" msgstr "" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, python-format msgid "Cannot find the file %(file_name)s" msgstr "" @@ -5670,8 +5674,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "" @@ -5721,8 +5725,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "" @@ -5746,31 +5750,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, python-format msgid "%(site_name)s. Edited form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, python-format msgid "%(site_name)s. A form has expired" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, python-format msgid "Error at %(site_name)s" msgstr "" @@ -6226,7 +6230,7 @@ msgid "Changed data protection law OK" msgstr "" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "" diff --git a/liberaforms/translations/nb_NO/LC_MESSAGES/messages.po b/liberaforms/translations/nb_NO/LC_MESSAGES/messages.po index 0821065c..0f447e4d 100644 --- a/liberaforms/translations/nb_NO/LC_MESSAGES/messages.po +++ b/liberaforms/translations/nb_NO/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: info@liberaforms.org\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: 2021-11-10 17:04+0000\n" "Last-Translator: LiberaForms <info@liberaforms.org>\n" "Language: nb_NO\n" @@ -5261,6 +5261,11 @@ msgstr "" msgid "Total users" msgstr "" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +#, fuzzy +msgid "Search" +msgstr "Bruker" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 #, fuzzy msgid "Add and remove privacy statements" @@ -5667,7 +5672,7 @@ msgstr "" msgid "Privacy statement required" msgstr "Brukernavn stemmer ikke overens" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, fuzzy, python-format msgid "Cannot find the file %(file_name)s" msgstr "Finner ikke brukernavnet «%s»" @@ -5918,8 +5923,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "" @@ -5971,8 +5976,8 @@ msgstr "Nytt skjema «%s» opprettet i %s" #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "" @@ -5996,31 +6001,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, python-format msgid "%(site_name)s. Edited form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "Bekreftelsesmelding" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, fuzzy, python-format msgid "%(site_name)s. A form has expired" msgstr "LiberaForms. Et skjema har utløpt" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, fuzzy, python-format msgid "Error at %(site_name)s" msgstr "Hei %(user)s." @@ -6489,7 +6494,7 @@ msgid "Changed data protection law OK" msgstr "Databeskyttelse" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "" diff --git a/liberaforms/translations/pl/LC_MESSAGES/messages.po b/liberaforms/translations/pl/LC_MESSAGES/messages.po index 9f1e1cca..ae735f50 100644 --- a/liberaforms/translations/pl/LC_MESSAGES/messages.po +++ b/liberaforms/translations/pl/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: info@liberaforms.org\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: 2022-04-08 07:14+0000\n" "Last-Translator: J. Lavoie <j.lavoie@net-c.ca>\n" "Language: pl\n" @@ -5068,6 +5068,10 @@ msgstr "" msgid "Total users" msgstr "" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +msgid "Search" +msgstr "" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 msgid "Add and remove privacy statements" msgstr "" @@ -5454,7 +5458,7 @@ msgstr "" msgid "Privacy statement required" msgstr "" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, python-format msgid "Cannot find the file %(file_name)s" msgstr "" @@ -5699,8 +5703,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "" @@ -5750,8 +5754,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "" @@ -5775,31 +5779,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, python-format msgid "%(site_name)s. Edited form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, python-format msgid "%(site_name)s. A form has expired" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, python-format msgid "Error at %(site_name)s" msgstr "" @@ -6257,7 +6261,7 @@ msgid "Changed data protection law OK" msgstr "" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "" diff --git a/liberaforms/translations/pt_BR/LC_MESSAGES/messages.po b/liberaforms/translations/pt_BR/LC_MESSAGES/messages.po index 9ef8ec2a..ad32ad03 100644 --- a/liberaforms/translations/pt_BR/LC_MESSAGES/messages.po +++ b/liberaforms/translations/pt_BR/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: info@liberaforms.org\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: 2022-04-08 07:14+0000\n" "Last-Translator: J. Lavoie <j.lavoie@net-c.ca>\n" "Language: pt_BR\n" @@ -5217,6 +5217,10 @@ msgstr "" msgid "Total users" msgstr "" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +msgid "Search" +msgstr "" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 #, fuzzy msgid "Add and remove privacy statements" @@ -5614,7 +5618,7 @@ msgstr "" msgid "Privacy statement required" msgstr "Deletar usuário e formulários" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, fuzzy, python-format msgid "Cannot find the file %(file_name)s" msgstr "Deletar usuário e formulários" @@ -5859,8 +5863,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "" @@ -5910,8 +5914,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "" @@ -5935,31 +5939,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, python-format msgid "%(site_name)s. Edited form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, fuzzy, python-format msgid "%(site_name)s. A form has expired" msgstr "Este formulário expirou" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, fuzzy, python-format msgid "Error at %(site_name)s" msgstr "Deletar usuário e formulários" @@ -6421,7 +6425,7 @@ msgid "Changed data protection law OK" msgstr "Proteção de Dados" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "" diff --git a/liberaforms/translations/ru/LC_MESSAGES/messages.po b/liberaforms/translations/ru/LC_MESSAGES/messages.po index d6aed331..ff5201c8 100644 --- a/liberaforms/translations/ru/LC_MESSAGES/messages.po +++ b/liberaforms/translations/ru/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: info@liberaforms.org\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: 2021-09-08 20:50+0000\n" "Last-Translator: Artem <Localizer_in_Russian@protonmail.com>\n" "Language: ru\n" @@ -5086,6 +5086,10 @@ msgstr "" msgid "Total users" msgstr "" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +msgid "Search" +msgstr "" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 msgid "Add and remove privacy statements" msgstr "" @@ -5472,7 +5476,7 @@ msgstr "" msgid "Privacy statement required" msgstr "" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, python-format msgid "Cannot find the file %(file_name)s" msgstr "" @@ -5717,8 +5721,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "" @@ -5768,8 +5772,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "" @@ -5793,31 +5797,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, python-format msgid "%(site_name)s. Edited form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, python-format msgid "%(site_name)s. A form has expired" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, python-format msgid "Error at %(site_name)s" msgstr "" @@ -6275,7 +6279,7 @@ msgid "Changed data protection law OK" msgstr "" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "" diff --git a/liberaforms/translations/zh_Hans/LC_MESSAGES/messages.po b/liberaforms/translations/zh_Hans/LC_MESSAGES/messages.po index 868b7345..ac379ac4 100644 --- a/liberaforms/translations/zh_Hans/LC_MESSAGES/messages.po +++ b/liberaforms/translations/zh_Hans/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: info@liberaforms.org\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language: zh_Hans\n" @@ -5052,6 +5052,10 @@ msgstr "" msgid "Total users" msgstr "" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +msgid "Search" +msgstr "" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 msgid "Add and remove privacy statements" msgstr "" @@ -5436,7 +5440,7 @@ msgstr "" msgid "Privacy statement required" msgstr "" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, python-format msgid "Cannot find the file %(file_name)s" msgstr "" @@ -5671,8 +5675,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "" @@ -5722,8 +5726,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "" @@ -5747,31 +5751,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, python-format msgid "%(site_name)s. Edited form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, python-format msgid "%(site_name)s. A form has expired" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, python-format msgid "Error at %(site_name)s" msgstr "" @@ -6225,7 +6229,7 @@ msgid "Changed data protection law OK" msgstr "" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "" diff --git a/liberaforms/translations/zh_Hant/LC_MESSAGES/messages.po b/liberaforms/translations/zh_Hant/LC_MESSAGES/messages.po index 71491750..bdec0eb8 100644 --- a/liberaforms/translations/zh_Hant/LC_MESSAGES/messages.po +++ b/liberaforms/translations/zh_Hant/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: info@liberaforms.org\n" -"POT-Creation-Date: 2023-10-03 17:06+0200\n" +"POT-Creation-Date: 2023-10-15 09:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language: zh_Hant\n" @@ -5052,6 +5052,10 @@ msgstr "" msgid "Total users" msgstr "" +#: liberaforms/templates/site/partials/inline_help_menu.html:26 +msgid "Search" +msgstr "" + #: liberaforms/templates/site/partials/new_user_form_options.html:8 msgid "Add and remove privacy statements" msgstr "" @@ -5436,7 +5440,7 @@ msgstr "" msgid "Privacy statement required" msgstr "" -#: liberaforms/utils/inline_help.py:84 +#: liberaforms/utils/inline_help.py:142 #, python-format msgid "Cannot find the file %(file_name)s" msgstr "" @@ -5671,8 +5675,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:120 #: liberaforms/utils/dispatcher/dispatcher.py:145 #: liberaforms/utils/dispatcher/dispatcher.py:165 -#: liberaforms/utils/dispatcher/dispatcher.py:184 -#: liberaforms/utils/dispatcher/dispatcher.py:217 +#: liberaforms/utils/dispatcher/dispatcher.py:183 +#: liberaforms/utils/dispatcher/dispatcher.py:216 msgid "Regards." msgstr "" @@ -5722,8 +5726,8 @@ msgstr "" #: liberaforms/utils/dispatcher/dispatcher.py:119 #: liberaforms/utils/dispatcher/dispatcher.py:144 #: liberaforms/utils/dispatcher/dispatcher.py:164 -#: liberaforms/utils/dispatcher/dispatcher.py:183 -#: liberaforms/utils/dispatcher/dispatcher.py:216 +#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:215 msgid "Hello" msgstr "" @@ -5747,31 +5751,31 @@ msgstr "" msgid "%(site_name)s. New form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:182 +#: liberaforms/utils/dispatcher/dispatcher.py:181 #, python-format msgid "An answer for '%(form_name)s' has been edited." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:187 +#: liberaforms/utils/dispatcher/dispatcher.py:186 #, python-format msgid "%(site_name)s. Edited form answer" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:203 +#: liberaforms/utils/dispatcher/dispatcher.py:202 msgid "Confirmation message" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:213 +#: liberaforms/utils/dispatcher/dispatcher.py:212 #, python-format msgid "The form '%(form_name)s' has expired at %(site_name)s." msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:220 +#: liberaforms/utils/dispatcher/dispatcher.py:219 #, python-format msgid "%(site_name)s. A form has expired" msgstr "" -#: liberaforms/utils/dispatcher/dispatcher.py:234 +#: liberaforms/utils/dispatcher/dispatcher.py:233 #, python-format msgid "Error at %(site_name)s" msgstr "" @@ -6225,7 +6229,7 @@ msgid "Changed data protection law OK" msgstr "" #. i18n: feed_type can be, for example, RSS or Atom -#: liberaforms/views/site.py:708 +#: liberaforms/views/site.py:720 #, python-format msgid "%(sitename)s %(feed_type)s feed" msgstr "" diff --git a/liberaforms/utils/dispatcher/dispatcher.py b/liberaforms/utils/dispatcher/dispatcher.py index fe5b0220..2ad777a3 100644 --- a/liberaforms/utils/dispatcher/dispatcher.py +++ b/liberaforms/utils/dispatcher/dispatcher.py @@ -174,15 +174,14 @@ class Dispatcher(EmailServer): ) thr.start() - def send_edited_answer_notification(self, formuser_emails, form, answer): - answer_url = url_for("answers_bp.answer_history", - form_id=form.id, - answer_id=answer.id, - _external=True) + def send_edited_answer_notification(self, formuser_emails, form): + form_logs_url = url_for("form_bp.list_log", + form_id=form.id, + _external=True) body = _("An answer for '%(form_name)s' has been edited.", form_name=form.name) greeting = _('Hello') regards = _('Regards.') - body = f"{greeting},\n\n{body}\n\n{answer_url}\n\n{regards}" + body = f"{greeting},\n\n{body}\n\n{form_logs_url}\n\n{regards}" message = MIMEText(body, _subtype='plain', _charset='UTF-8') message['Subject'] = Header(_("%(site_name)s. Edited form answer", site_name=self.site.name)).encode() diff --git a/liberaforms/utils/i18n.py b/liberaforms/utils/i18n.py index 59794f7a..91153924 100644 --- a/liberaforms/utils/i18n.py +++ b/liberaforms/utils/i18n.py @@ -59,7 +59,7 @@ def get_interface_locale() -> str: if flask_login.current_user and \ flask_login.current_user.is_authenticated and \ flask_login.current_user.is_validated: - return flask_login.current_user.preferences["language"] + return flask_login.current_user.get_language() return get_best_match_lang_code() current_app.logger.debug("APP - No request context") return os.getenv('DEFAULT_LANGUAGE') diff --git a/liberaforms/utils/inline_help.py b/liberaforms/utils/inline_help.py index 901e1d26..7851981c 100644 --- a/liberaforms/utils/inline_help.py +++ b/liberaforms/utils/inline_help.py @@ -13,6 +13,7 @@ from flask import current_app, g, render_template, jsonify, url_for from flask_babel import gettext, force_locale import flask_login from liberaforms.utils import utils +from liberaforms.utils import sanitizers from liberaforms.utils import i18n @@ -58,6 +59,63 @@ class InlineHelp(): def _external_link_icon(self): return '<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-up-right"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg>' + def render_markdown(self, j2_env, file_name) -> str: + #print(file_name) + template = j2_env.get_template(file_name) + markdown_help = template.render({ + "help_page": self._help_page_link, + "is_admin": self.is_admin, + "is_editor": self.is_editor, + "is_guest": self.is_guest, + "is_root_user": self.is_root_user, + "is_multilanguage_site": bool(len(g.site.custom_languages) > 1), + "_": self.translate, + "url_for": url_for, + "BASE_URL": current_app.config["BASE_URL"], + #"external_link_icon": self._external_link_icon, + "default_enabled_language": self._get_default_enabled_language, + "token_lifespan": self._token_lifespan(), + "current_user": flask_login.current_user, + "site": g.site, + "with_link": self._build_link, + "app_config": current_app.config, + "human_readable_bytes": utils.human_readable_bytes, + "mimetype_risks": self.mimetype_risks, + "i18n_docs_site_url": i18n.get_docs_site_url}) + return markdown_help + + def search(self, search_string: str) -> dict: + result: dict = {} + j2_env = Environment(loader=FileSystemLoader(self.pages_dir)) + + pages = [] + def load_pages(menu: dict): + for key, value in menu.items(): + pages.append(key) + if "sub_pages" in value and value["sub_pages"]: + load_pages(value["sub_pages"]) + + load_pages(self.menu_data["user"]) + if self.is_admin: + load_pages(self.menu_data["admin"]) + + for file_name in pages: + if file_name.startswith("_"): + continue + try: + rendered_markdown = self.render_markdown(j2_env, file_name) + for line in rendered_markdown.splitlines(): + if search_string in line: + page_name = self.get_page_label(file_name) + page_link = '<a href="#" onclick=\'inline_help_goto_page("'+file_name+'")\'>'+page_name+'</a>' + if page_link not in result: + result[page_link] = [] + text = sanitizers.remove_html_tags(markdown.markdown(line)) + result[page_link].append(text) + except: + current_app.logger.debug(f"APP - Inline help. Cannot find {file_name}") + return result + def get_page_label(self, file_name): for menu in self.menu_data.values(): for item, item_value in menu.items(): @@ -83,28 +141,8 @@ class InlineHelp(): current_app.logger.debug(f"INLINE-HELP - Cannot file help page: {file_name}") return _("Cannot find the file %(file_name)s", file_name=file_name) j2_env = Environment(loader=FileSystemLoader(self.pages_dir)) - template = j2_env.get_template(file_name) - markdown_help = template.render({ - "help_page": self._help_page_link, - "is_admin": self.is_admin, - "is_editor": self.is_editor, - "is_guest": self.is_guest, - "is_root_user": self.is_root_user, - "is_multilanguage_site": bool(len(g.site.custom_languages) > 1), - "_": self.translate, - "url_for": url_for, - "BASE_URL": current_app.config["BASE_URL"], - #"external_link_icon": self._external_link_icon, - "default_enabled_language": self._get_default_enabled_language, - "token_lifespan": self._token_lifespan(), - "current_user": flask_login.current_user, - "site": g.site, - "with_link": self._build_link, - "app_config": current_app.config, - "human_readable_bytes": utils.human_readable_bytes, - "mimetype_risks": self.mimetype_risks, - "i18n_docs_site_url": i18n.get_docs_site_url}) - html = markdown.markdown(markdown_help) + rendered_markdown = self.render_markdown(j2_env, file_name) + html = markdown.markdown(rendered_markdown) return html def get_menu(self): diff --git a/liberaforms/views/site.py b/liberaforms/views/site.py index 1aac0946..faf8e1d5 100644 --- a/liberaforms/views/site.py +++ b/liberaforms/views/site.py @@ -693,6 +693,18 @@ def get_inline_help(): return jsonify(payload), 200 +@site_bp.route('/site/search-help', methods=['POST']) +@auth.authenticated_user_required__json +def search_help(): + data = request.get_json() + search_string = data["search_string"] if "search_string" in data else None + if search_string: + inline_help = InlineHelp(g.language, flask_login.current_user.role) + result = inline_help.search(search_string) + return jsonify(result=result), 200 + return jsonify(result={}), 200 + + # RSS @site_bp.route('/feed', methods=['GET']) |