From 700a2c3973d45123c2dc66ab3629fa1d30694712 Mon Sep 17 00:00:00 2001 From: QLands Date: Sun, 31 Jul 2022 14:03:13 -0400 Subject: [PATCH 001/246] Add DB guide --- formshare/static/formshare_storage_en.pdf | Bin 0 -> 967556 bytes .../projects/forms/export/zip_csv.jinja2 | 4 ++-- .../projects/forms/export/zip_json.jinja2 | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 formshare/static/formshare_storage_en.pdf diff --git a/formshare/static/formshare_storage_en.pdf b/formshare/static/formshare_storage_en.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a16d0d3c1eeccc0b448f8443e70abd771f6a538f GIT binary patch literal 967556 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

h6xPin5rl=H0q= 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

52SUrByj8 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⋙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�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

J2}5hMwoGJ%qCg}Mj0{Ou3n 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%0AZ-8gc144DS0;#dRe|iTHW2Pw4}x7sK(O-x2zPu0 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

Eki_VBf?X=h0wGiAtY_H5S(^c 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

lWcnL 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⪼i*L_Pn#wj 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

=S&Nv_BKuYC}{}n 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 Cz(h#^ literal 0 HcmV?d00001 diff --git a/formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2 b/formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2 index 23a4eff43..d60cbe14e 100644 --- a/formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2 +++ b/formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2 @@ -38,7 +38,7 @@

- {{ _('When checked, FormShare will create a CSV file for each multiselect table. But will not resolve multiselect fields. Click') }}
{{ _('here') }} {{ _('for more information about how FormShare stores "select_multiple" variables.') }} + {{ _('When checked, FormShare will create a CSV file for each multiselect table. But will not resolve multiselect fields. Click') }} {{ _('here') }} {{ _('for more information about how FormShare stores "select_multiple" variables.') }}
@@ -47,7 +47,7 @@
- {{ _('When checked, FormShare will create a CSV file for each lookup table, but it will not resolve option labels. Click') }} {{ _('here') }} {{ _('for more information about how FormShare stores "select_one" variables.') }} + {{ _('When checked, FormShare will create a CSV file for each lookup table, but it will not resolve option labels. Click') }} {{ _('here') }} {{ _('for more information about how FormShare stores "select_one" variables.') }}
diff --git a/formshare/templates/dashboard/projects/forms/export/zip_json.jinja2 b/formshare/templates/dashboard/projects/forms/export/zip_json.jinja2 index 139b54419..96988e02f 100644 --- a/formshare/templates/dashboard/projects/forms/export/zip_json.jinja2 +++ b/formshare/templates/dashboard/projects/forms/export/zip_json.jinja2 @@ -38,7 +38,7 @@
- {{ _('When checked, FormShare will create a JSON file for each multiselect table, but it will not resolve multiselect fields. Click') }} {{ _('here') }} {{ _('for more information about how FormShare stores "select_multiple" variables.') }} + {{ _('When checked, FormShare will create a JSON file for each multiselect table, but it will not resolve multiselect fields. Click') }} {{ _('here') }} {{ _('for more information about how FormShare stores "select_multiple" variables.') }}
@@ -47,7 +47,7 @@
- {{ _('When checked, FormShare will create a JSON file for each lookup table, but it will not resolve option labels. Click') }} {{ _('here') }} {{ _('for more information about how FormShare stores "select_one" variables.') }} + {{ _('When checked, FormShare will create a JSON file for each lookup table, but it will not resolve option labels. Click') }} {{ _('here') }} {{ _('for more information about how FormShare stores "select_one" variables.') }}
From 43f6f77c63919c0a377f607244ebb86ed4534fb8 Mon Sep 17 00:00:00 2001 From: QLands Date: Sun, 31 Jul 2022 14:03:28 -0400 Subject: [PATCH 002/246] Update translations --- formshare/locale/en/LC_MESSAGES/formshare.po | 462 ++++++++++++------- formshare/locale/es/LC_MESSAGES/formshare.po | 413 ++++++++++------- formshare/locale/fr/LC_MESSAGES/formshare.po | 413 ++++++++++------- formshare/locale/pt/LC_MESSAGES/formshare.po | 413 ++++++++++------- 4 files changed, 1051 insertions(+), 650 deletions(-) diff --git a/formshare/locale/en/LC_MESSAGES/formshare.po b/formshare/locale/en/LC_MESSAGES/formshare.po index 65fbee8cc..e23e4efe9 100644 --- a/formshare/locale/en/LC_MESSAGES/formshare.po +++ b/formshare/locale/en/LC_MESSAGES/formshare.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: formshare 0.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2022-06-09 09:39-0400\n" +"POT-Creation-Date: 2022-07-31 13:53-0400\n" "PO-Revision-Date: 2017-11-15 22:40-0600\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -66,7 +66,7 @@ msgstr "" msgid "This form is blocked and cannot be changed at the moment." msgstr "" -#: formshare/processes/db/form.py:1462 formshare/processes/db/project.py:1253 +#: formshare/processes/db/form.py:1462 formshare/processes/db/project.py:1255 msgid "The file {} already exist" msgstr "" @@ -90,27 +90,27 @@ msgstr "" msgid "The output does not exist" msgstr "" -#: formshare/processes/db/project.py:1117 +#: formshare/processes/db/project.py:1119 msgid "Error allocating access" msgstr "" -#: formshare/processes/db/project.py:1130 +#: formshare/processes/db/project.py:1132 msgid "The project already exists" msgstr "" -#: formshare/processes/db/project.py:1142 +#: formshare/processes/db/project.py:1144 msgid "A project with name '{}' already exists in your account" msgstr "" -#: formshare/processes/db/project.py:1195 +#: formshare/processes/db/project.py:1197 msgid "If you have forms with submissions, first you need to delete such forms" msgstr "" -#: formshare/processes/db/user.py:140 +#: formshare/processes/db/user.py:141 msgid "Username is already taken" msgstr "" -#: formshare/processes/db/user.py:149 +#: formshare/processes/db/user.py:150 msgid "Email is invalid" msgstr "" @@ -126,143 +126,151 @@ msgstr "" msgid "FormShare - Token security alert" msgstr "" -#: formshare/processes/odk/api.py:458 +#: formshare/processes/odk/api.py:459 msgid "The primary key variable does not exist or is inside a repeat" msgstr "" -#: formshare/processes/odk/api.py:472 formshare/processes/odk/api.py:521 -#: formshare/processes/odk/api.py:543 formshare/processes/odk/api.py:637 -#: formshare/processes/odk/api.py:689 formshare/views/form.py:469 +#: formshare/processes/odk/api.py:473 formshare/processes/odk/api.py:522 +#: formshare/processes/odk/api.py:544 formshare/processes/odk/api.py:646 +#: formshare/processes/odk/api.py:698 formshare/views/form.py:474 msgid "FormShare thoroughly checks your ODK for inconsistencies." msgstr "" -#: formshare/processes/odk/api.py:476 +#: formshare/processes/odk/api.py:477 msgid "" "The following variables are duplicated within repeats or outside repeats " "in the ODK you just submitted:" msgstr "" -#: formshare/processes/odk/api.py:486 +#: formshare/processes/odk/api.py:487 msgid "Outside any repeat" msgstr "" -#: formshare/processes/odk/api.py:488 +#: formshare/processes/odk/api.py:489 msgid "In repeat: {}" msgstr "" -#: formshare/processes/odk/api.py:497 +#: formshare/processes/odk/api.py:498 msgid "Variable: {}" msgstr "" -#: formshare/processes/odk/api.py:503 formshare/processes/odk/api.py:653 +#: formshare/processes/odk/api.py:504 formshare/processes/odk/api.py:662 msgid "" "Please note that FormShare only allows basic Latin letters, digits 0-9, " "dollar and underscore in repeat, group and variable names." msgstr "" -#: formshare/processes/odk/api.py:523 +#: formshare/processes/odk/api.py:524 msgid "The following variables have invalid names:" msgstr "" -#: formshare/processes/odk/api.py:529 +#: formshare/processes/odk/api.py:530 msgid "Please change those names and try again." msgstr "" -#: formshare/processes/odk/api.py:545 +#: formshare/processes/odk/api.py:546 msgid "The following choices are identical:" msgstr "" -#: formshare/processes/odk/api.py:558 +#: formshare/processes/odk/api.py:559 msgid " with the following duplicates: " msgstr "" -#: formshare/processes/odk/api.py:566 +#: formshare/processes/odk/api.py:567 msgid "Please remove the duplicated choices and try again." msgstr "" -#: formshare/processes/odk/api.py:571 formshare/views/form.py:625 +#: formshare/processes/odk/api.py:572 formshare/views/form.py:637 msgid "" "This ODK form mixes coded and not coded languages. For example " "label::English (en) and label::Español. You need to code all the labels " "that are marked for translation." msgstr "" -#: formshare/processes/odk/api.py:590 formshare/views/form.py:634 +#: formshare/processes/odk/api.py:580 +msgid "" +"The variable to control duplicate submissions has an invalid type. E.g., " +"the variable cannot be note, picture, video, sound, select_multiple, or " +"geo-spacial. The most appropriate types are text, datetime, barcode, " +"calculate, select_one, or integer" +msgstr "" + +#: formshare/processes/odk/api.py:599 formshare/views/form.py:646 msgid "FormShare needs you to shorten the name of some of your tables." msgstr "" -#: formshare/processes/odk/api.py:595 formshare/views/form.py:641 +#: formshare/processes/odk/api.py:604 formshare/views/form.py:653 msgid "The following tables have a name longer than 64 characters:" msgstr "" -#: formshare/processes/odk/api.py:617 formshare/views/form.py:667 +#: formshare/processes/odk/api.py:626 formshare/views/form.py:679 msgid "Please shorten the name of the tables and/or the selects and try again." msgstr "" -#: formshare/processes/odk/api.py:641 +#: formshare/processes/odk/api.py:650 msgid "The following repeats are duplicated in the ODK you just submitted:" msgstr "" -#: formshare/processes/odk/api.py:649 +#: formshare/processes/odk/api.py:658 msgid "Repeat: {}" msgstr "" -#: formshare/processes/odk/api.py:693 formshare/views/form.py:474 +#: formshare/processes/odk/api.py:702 formshare/views/form.py:479 msgid "The following options are duplicated in the ODK you just submitted:" msgstr "" -#: formshare/processes/odk/api.py:705 formshare/views/form.py:486 +#: formshare/processes/odk/api.py:714 formshare/views/form.py:491 msgid "Option {} in variable {}" msgstr "" -#: formshare/processes/odk/api.py:723 +#: formshare/processes/odk/api.py:732 msgid "" "Malformed language in your ODK. You have label:X (Y) when it must be " "label::X (Y). With two colons (::)" msgstr "" -#: formshare/processes/odk/api.py:740 +#: formshare/processes/odk/api.py:749 msgid "" "You have choices but not labels. Did you missed the :: between label and " "language? Like label::English (en)" msgstr "" -#: formshare/processes/odk/api.py:757 +#: formshare/processes/odk/api.py:766 msgid "" "FormShare manages your data in a better way but by doing so it has more " "restrictions." msgstr "" -#: formshare/processes/odk/api.py:763 +#: formshare/processes/odk/api.py:772 msgid "The following tables have more than 60 selects: " msgstr "" -#: formshare/processes/odk/api.py:771 +#: formshare/processes/odk/api.py:780 msgid " with " msgstr "" -#: formshare/processes/odk/api.py:771 +#: formshare/processes/odk/api.py:780 msgid " selects" msgstr "" -#: formshare/processes/odk/api.py:776 +#: formshare/processes/odk/api.py:785 msgid "Some information on this restriction and how to correct it:" msgstr "" -#: formshare/processes/odk/api.py:781 +#: formshare/processes/odk/api.py:790 msgid "" "We tend to organize our ODK forms in sections with questions around a " "topic. For example: \"livestock inputs\" or \"crops sales\"." msgstr "" -#: formshare/processes/odk/api.py:789 +#: formshare/processes/odk/api.py:798 msgid "" "These sections have type = \"begin/end group\". We also organize " "questions that must be repeated in sections with type = \"begin/end " "repeat.\"" msgstr "" -#: formshare/processes/odk/api.py:797 +#: formshare/processes/odk/api.py:806 msgid "" "FormShare stores repeats as separate tables (like different Excel sheets)" " however groups are not stored as repeats. FormShare stores all items " @@ -273,7 +281,7 @@ msgid "" "selects per table." msgstr "" -#: formshare/processes/odk/api.py:809 +#: formshare/processes/odk/api.py:818 msgid "" "You can bypass this restriction by creating groups of items inside " "repeats BUT WITH repeat_count = 1. A repeat with repeat_count = 1 will " @@ -283,81 +291,81 @@ msgid "" "table." msgstr "" -#: formshare/processes/odk/api.py:818 +#: formshare/processes/odk/api.py:827 msgid "" "Please edit your ODK XLSX/XLS file, group several items inside repeats " "with repeat_count = 1 and try to upload the form again." msgstr "" -#: formshare/processes/odk/api.py:864 formshare/processes/odk/api.py:1302 +#: formshare/processes/odk/api.py:873 formshare/processes/odk/api.py:1311 msgid "No file was attached" msgstr "" -#: formshare/processes/odk/api.py:886 formshare/processes/odk/api.py:1325 +#: formshare/processes/odk/api.py:895 formshare/processes/odk/api.py:1334 msgid "Invalid file type" msgstr "" -#: formshare/processes/odk/api.py:955 formshare/processes/odk/api.py:1396 +#: formshare/processes/odk/api.py:964 formshare/processes/odk/api.py:1405 msgid "" "The variable {} used to identify the cases is invalid. Only text, " "calculates or integers are allowed." msgstr "" -#: formshare/processes/odk/api.py:976 formshare/processes/odk/api.py:1417 +#: formshare/processes/odk/api.py:985 formshare/processes/odk/api.py:1426 msgid "" "The variable {} used to label cases was not found or is invalid. Only " "text, calculates or integers are allowed." msgstr "" -#: formshare/processes/odk/api.py:1004 +#: formshare/processes/odk/api.py:1013 msgid "" "The variable {} used to search and select cases was not found or is " "invalid. The variable must be select_one_from_file using a CSV file or a " "barcode" msgstr "" -#: formshare/processes/odk/api.py:1019 formshare/processes/odk/api.py:1461 +#: formshare/processes/odk/api.py:1028 formshare/processes/odk/api.py:1470 msgid "" "The variable {} used to record a date or date and time was not found or " "is invalid. The variable must be date or datetime." msgstr "" -#: formshare/processes/odk/api.py:1241 +#: formshare/processes/odk/api.py:1250 msgid "The form already exists in this project" msgstr "" -#: formshare/processes/odk/api.py:1245 formshare/processes/odk/api.py:1733 +#: formshare/processes/odk/api.py:1254 formshare/processes/odk/api.py:1742 msgid "" "The form ID has especial characters. FormShare only allows letters, " "numbers and underscores(_)" msgstr "" -#: formshare/processes/odk/api.py:1252 +#: formshare/processes/odk/api.py:1261 msgid "Cannot find XForm ID. Please include this ODK form in an issue on " msgstr "" -#: formshare/processes/odk/api.py:1445 +#: formshare/processes/odk/api.py:1454 msgid "" "The variable {} used to search and select cases was not found or is " "invalid. The variable must be select_one_from_file using a CSV file or a " "barcode." msgstr "" -#: formshare/processes/odk/api.py:1721 +#: formshare/processes/odk/api.py:1730 msgid "The form does not exist in this project" msgstr "" -#: formshare/processes/odk/api.py:1725 +#: formshare/processes/odk/api.py:1734 msgid "" "The \"form_id\" of the current form does not match the \"form_id\" of the" " one you uploaded. You cannot update a form with another form." msgstr "" -#: formshare/processes/odk/api.py:1740 +#: formshare/processes/odk/api.py:1749 msgid "Cannot find XForm ID. Please post the form as an issue on " msgstr "" -#: formshare/processes/odk/api.py:2467 +#: formshare/processes/odk/api.py:2476 msgid "" "The language \"{}\" is missing in this version of the form and cannot be " "merged.\n" @@ -366,7 +374,7 @@ msgid "" "the ODK Form." msgstr "" -#: formshare/processes/odk/api.py:2473 +#: formshare/processes/odk/api.py:2482 msgid "" "The language called \"default\" appears when you have a \"label\" without" " indicating a language. For example if you had a column called \"label\" " @@ -378,7 +386,7 @@ msgid "" "\"default\" does not exists" msgstr "" -#: formshare/processes/odk/api.py:2489 +#: formshare/processes/odk/api.py:2498 msgid "" "This version of the form is in multiple languages but the previous one " "was not and therefore and cannot be merged.\n" @@ -387,7 +395,7 @@ msgid "" "the ODK Form." msgstr "" -#: formshare/processes/odk/api.py:3423 +#: formshare/processes/odk/api.py:3613 msgid "Generating Diff HTML file error. Diff file for such commit does not exist" msgstr "" @@ -395,58 +403,58 @@ msgstr "" msgid "Error storing setting for key {}. The key already exits." msgstr "" -#: formshare/processes/submission/api.py:272 +#: formshare/processes/submission/api.py:271 msgid "There are no media files to download" msgstr "" -#: formshare/processes/submission/api.py:381 +#: formshare/processes/submission/api.py:411 msgid "" "This form was uploaded using an old version of ODK Tools. Please upload " "it again." msgstr "" -#: formshare/processes/submission/api.py:433 +#: formshare/processes/submission/api.py:462 msgid "Error while creating dummy file" msgstr "" -#: formshare/processes/submission/api.py:435 +#: formshare/processes/submission/api.py:464 msgid "There are no submissions to download" msgstr "" -#: formshare/processes/submission/api.py:471 -#: formshare/processes/submission/api.py:504 -#: formshare/processes/submission/api.py:547 -#: formshare/processes/submission/api.py:580 -#: formshare/processes/submission/api.py:624 -#: formshare/processes/submission/api.py:656 formshare/products/products.py:135 -#: formshare/products/products.py:143 +#: formshare/processes/submission/api.py:500 +#: formshare/processes/submission/api.py:533 +#: formshare/processes/submission/api.py:576 +#: formshare/processes/submission/api.py:609 +#: formshare/processes/submission/api.py:653 +#: formshare/processes/submission/api.py:685 formshare/products/products.py:139 +#: formshare/products/products.py:147 msgid "Without description" msgstr "" -#: formshare/processes/submission/api.py:852 +#: formshare/processes/submission/api.py:881 #: formshare/templates/dashboard/projects/forms/dictionary/edit_fields.jinja2:255 #: formshare/templates/dashboard/projects/forms/dictionary/edit_fields.jinja2:275 msgid "Exclude it" msgstr "" -#: formshare/processes/submission/api.py:854 +#: formshare/processes/submission/api.py:883 #: formshare/templates/dashboard/projects/forms/dictionary/edit_fields.jinja2:265 msgid "Recode it" msgstr "" -#: formshare/processes/submission/api.py:856 +#: formshare/processes/submission/api.py:885 msgid "Unlink it" msgstr "" -#: formshare/processes/submission/api.py:1112 +#: formshare/processes/submission/api.py:1141 msgid "AJAX Data error. Report this error as an issue on " msgstr "" -#: formshare/processes/submission/api.py:1156 +#: formshare/processes/submission/api.py:1185 msgid "Cannot update value. Check the valid values in lookup table " msgstr "" -#: formshare/processes/submission/api.py:1169 +#: formshare/processes/submission/api.py:1198 msgid "Cannot update value. Check the valid values in lookup table" msgstr "" @@ -475,7 +483,7 @@ msgid "Media" msgstr "" #: formshare/products/products.py:124 -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:19 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:24 msgid "KML" msgstr "" @@ -496,6 +504,14 @@ msgid "Unpublishable Zip CSV" msgstr "" #: formshare/products/products.py:134 +msgid "Publishable Zip JSON" +msgstr "" + +#: formshare/products/products.py:136 +msgid "Unpublishable Zip JSON" +msgstr "" + +#: formshare/products/products.py:138 msgid "Merge Form" msgstr "" @@ -593,12 +609,18 @@ msgid "" "this error as an issue on https://github.com/qlands/FormShare" msgstr "" -#: formshare/products/export/zip_csv/celery_task.py:129 +#: formshare/products/export/zip_csv/celery_task.py:141 msgid "" "Unknown error while creating the CSV Zip. Sorry about this. Please report" " this error as an issue on https://github.com/qlands/FormShare" msgstr "" +#: formshare/products/export/zip_json/celery_task.py:141 +msgid "" +"Unknown error while creating the JSON Zip. Sorry about this. Please " +"report this error as an issue on https://github.com/qlands/FormShare" +msgstr "" + #: formshare/products/merge/celery_task.py:136 msgid "Creating backup of schema" msgstr "" @@ -695,6 +717,7 @@ msgstr "" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_kml.jinja2:5 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_xlsx.jinja2:5 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_csv.jinja2:5 +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:5 #: formshare/templates/dashboard/projects/forms/import_data/snippets/brdcrbs_import.jinja2:5 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_compare_forms.jinja2:5 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_frmdtls.jinja2:5 @@ -827,7 +850,7 @@ msgstr "" #: formshare/templates/dashboard/projects/forms/snippets/edit_assistant.jinja2:32 #: formshare/templates/dashboard/projects/forms/snippets/edit_group.jinja2:32 #: formshare/templates/dashboard/projects/forms/snippets/edit_link_partner.jinja2:31 -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:27 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:35 #: formshare/templates/dashboard/projects/forms/snippets/link_partner.jinja2:35 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:13 #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:97 @@ -1690,6 +1713,10 @@ msgstr "" #: formshare/templates/dashboard/index.jinja2:162 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:43 +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:64 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:10 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:17 @@ -2187,6 +2214,7 @@ msgstr "" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_kml.jinja2:8 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_xlsx.jinja2:8 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_csv.jinja2:8 +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:8 #: formshare/templates/dashboard/projects/forms/import_data/snippets/brdcrbs_import.jinja2:8 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_compare_forms.jinja2:8 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_frmdtls.jinja2:8 @@ -2909,36 +2937,42 @@ msgstr "" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:29 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:19 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:19 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:19 msgid "Options" msgstr "" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:22 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:22 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:22 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:22 msgid "Type of export" msgstr "" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:24 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:24 msgid "Publishable" msgstr "" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:24 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:24 msgid "Without sensitive data e.g., GPS" msgstr "" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:25 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:25 msgid "Unpublishable" msgstr "" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:25 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:25 msgid "With sensitive data e.g., GPS" msgstr "" @@ -2946,6 +2980,7 @@ msgstr "" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:46 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:29 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:29 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:29 msgid "Lookup options for selects and multi-selects" msgstr "" @@ -2953,6 +2988,7 @@ msgstr "" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:48 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:31 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:31 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:31 msgid "Include option codes only" msgstr "" @@ -2960,6 +2996,7 @@ msgstr "" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:49 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:32 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:32 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:32 msgid "Convert option codes into labels" msgstr "" @@ -2967,13 +3004,15 @@ msgstr "" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:50 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:33 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:33 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:33 msgid "Include option codes and labels" msgstr "" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:38 #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:55 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:38 -#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:38 +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:56 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:56 msgid "Generate" msgstr "" @@ -3002,6 +3041,68 @@ msgstr "" msgid "Export to Zip CSV" msgstr "" +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:38 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:38 +msgid "Multiselects" +msgstr "" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:40 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:40 +msgid "Export multiselect tables" +msgstr "" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 +msgid "" +"When checked, FormShare will create a CSV file for each multiselect " +"table. But will not resolve multiselect fields. Click" +msgstr "" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 +msgid "" +"for more information about how FormShare stores \"select_multiple\" " +"variables." +msgstr "" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:47 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:47 +msgid "Lookups" +msgstr "" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:49 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:49 +msgid "Export lookup tables" +msgstr "" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 +msgid "" +"When checked, FormShare will create a CSV file for each lookup table, but" +" it will not resolve option labels. Click" +msgstr "" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 +msgid "for more information about how FormShare stores \"select_one\" variables." +msgstr "" + +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:2 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:4 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:19 +msgid "Export to Zip JSON" +msgstr "" + +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 +msgid "" +"When checked, FormShare will create a JSON file for each multiselect " +"table, but it will not resolve multiselect fields. Click" +msgstr "" + +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 +msgid "" +"When checked, FormShare will create a JSON file for each lookup table, " +"but it will not resolve option labels. Click" +msgstr "" + #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_csv.jinja2:17 msgid "CSV Options" msgstr "" @@ -3018,6 +3119,10 @@ msgstr "" msgid "Zip CSV Options" msgstr "" +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:17 +msgid "Zip JSON Options" +msgstr "" + #: formshare/templates/dashboard/projects/forms/import_data/import_form.jinja2:4 #: formshare/templates/dashboard/projects/forms/import_data/import_form.jinja2:78 msgid "Import data" @@ -3537,19 +3642,31 @@ msgstr "" msgid "XLSX" msgstr "" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:17 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:18 msgid "Flat CSV (One file)" msgstr "" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:18 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:20 +msgid "Flat CSV (One file) (Disabled)" +msgstr "" + +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:22 msgid "Zip CSV (Multiple files)" msgstr "" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:20 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:23 +msgid "Zip JSON (Multiple files)" +msgstr "" + +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:25 msgid "Media (zip)" msgstr "" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:28 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:29 +msgid "Note: Flat CSV is disabled with more than 10,000 submissions." +msgstr "" + +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:36 msgid "Export" msgstr "" @@ -5663,15 +5780,18 @@ msgstr "" #: formshare/templates/generic/recover_password.jinja2:4 #: formshare/templates/generic/recover_password.jinja2:11 -msgid "Recover my password" +#: formshare/templates/generic/reset_password.jinja2:4 +#: formshare/templates/generic/reset_password.jinja2:11 +msgid "Reset my password" msgstr "" #: formshare/templates/generic/recover_password.jinja2:28 -msgid "Recover" +#: formshare/templates/generic/reset_password.jinja2:31 +msgid "Reset" msgstr "" #: formshare/templates/generic/recover_password.jinja2:33 -msgid "We will send you an email with your password" +msgid "We will send you an email with instructions" msgstr "" #: formshare/templates/generic/refresh.jinja2:3 @@ -5711,11 +5831,6 @@ msgstr "" msgid "Already have an account?" msgstr "" -#: formshare/templates/generic/reset_password.jinja2:4 -#: formshare/templates/generic/reset_password.jinja2:11 -msgid "Reset my password" -msgstr "" - #: formshare/templates/generic/reset_password.jinja2:22 msgid "Email address" msgstr "" @@ -5728,10 +5843,6 @@ msgstr "" msgid "New password confirmation" msgstr "" -#: formshare/templates/generic/reset_password.jinja2:31 -msgid "Reset" -msgstr "" - #: formshare/templates/generic/testing.jinja2:3 msgid "Testing" msgstr "" @@ -5931,7 +6042,7 @@ msgstr "" msgid "Unable to delete the group: " msgstr "" -#: formshare/views/assistant_groups.py:271 formshare/views/form.py:1960 +#: formshare/views/assistant_groups.py:271 formshare/views/form.py:1972 msgid "The assistant was added successfully" msgstr "" @@ -6024,28 +6135,28 @@ msgstr "" msgid "The password must be less than 50 characters" msgstr "" -#: formshare/views/classes.py:724 +#: formshare/views/classes.py:726 msgid "You need to provide a password" msgstr "" -#: formshare/views/classes.py:1011 formshare/views/classes.py:1341 +#: formshare/views/classes.py:1013 formshare/views/classes.py:1343 msgid "This API key does not exist or is inactive" msgstr "" -#: formshare/views/classes.py:1025 formshare/views/classes.py:1357 +#: formshare/views/classes.py:1027 formshare/views/classes.py:1359 msgid "You need to specify an API key" msgstr "" -#: formshare/views/classes.py:1053 formshare/views/classes.py:1292 -#: formshare/views/classes.py:1385 +#: formshare/views/classes.py:1055 formshare/views/classes.py:1294 +#: formshare/views/classes.py:1387 msgid "The following keys were not present in the submitted JSON" msgstr "" -#: formshare/views/classes.py:1250 +#: formshare/views/classes.py:1252 msgid "You need to specify a rowuuid" msgstr "" -#: formshare/views/classes.py:1262 +#: formshare/views/classes.py:1264 msgid "You need to specify an assistant API key (apikey)" msgstr "" @@ -6095,46 +6206,46 @@ msgstr "" msgid "Unable to decline the collaboration: " msgstr "" -#: formshare/views/form.py:292 formshare/views/repository_merge.py:135 +#: formshare/views/form.py:297 formshare/views/repository_merge.py:135 msgid "" "The repeat \"{}\" changed parent from \"{}\" to \"{}\". You must rename " "the repeat before merging" msgstr "" -#: formshare/views/form.py:305 formshare/views/repository_merge.py:148 +#: formshare/views/form.py:310 formshare/views/repository_merge.py:148 msgid "" "The parent repeat \"{}\" of repeat \"{}\" does not exist anymore. You " "must rename the repeat \"{}\" before merging" msgstr "" -#: formshare/views/form.py:317 +#: formshare/views/form.py:322 msgid "" "The variable \"{}\" in repeat \"{}\" changed type. You must rename the " "variable before merging." msgstr "" -#: formshare/views/form.py:329 +#: formshare/views/form.py:334 msgid "" "The variable \"{}\" in repeat \"{}\" has a different choice list name. " "You must rename the variable before merging. " msgstr "" -#: formshare/views/form.py:352 formshare/views/repository_merge.py:204 +#: formshare/views/form.py:357 formshare/views/repository_merge.py:204 msgid "" "Unknown error while merging. A message has been sent to the support team " "and they will contact you ASAP." msgstr "" -#: formshare/views/form.py:365 formshare/views/form.py:376 -#: formshare/views/form.py:387 formshare/views/form.py:398 -#: formshare/views/form.py:434 formshare/views/form.py:572 -#: formshare/views/form.py:583 formshare/views/form.py:594 +#: formshare/views/form.py:370 formshare/views/form.py:381 +#: formshare/views/form.py:392 formshare/views/form.py:403 +#: formshare/views/form.py:439 formshare/views/form.py:584 +#: formshare/views/form.py:595 formshare/views/form.py:606 msgid "" "An unexpected error occurred while processing the merge. An email has " "been sent to the technical team and they will contact you ASAP." msgstr "" -#: formshare/views/form.py:406 +#: formshare/views/form.py:411 msgid "" "This new version of the form has multiple languages when the previous one" " did not.\n" @@ -6143,222 +6254,226 @@ msgid "" "the ODK Form." msgstr "" -#: formshare/views/form.py:415 +#: formshare/views/form.py:420 msgid "" "This version of the ODK Form differs in the languages used. The following" " languages are undefined:\n" "\n" msgstr "" -#: formshare/views/form.py:496 formshare/views/repository.py:372 +#: formshare/views/form.py:501 formshare/views/repository.py:372 msgid "The primary key was not found in the ODK form or is inside a repeat" msgstr "" -#: formshare/views/form.py:504 formshare/views/form.py:526 +#: formshare/views/form.py:509 formshare/views/form.py:531 msgid "The following files are missing and you need to attach them:" msgstr "" -#: formshare/views/form.py:511 +#: formshare/views/form.py:516 msgid "There was an error while processing some of the XML resource files:" msgstr "" -#: formshare/views/form.py:534 +#: formshare/views/form.py:539 msgid "The following CSV resource files have invalid characters:" msgstr "" -#: formshare/views/form.py:541 +#: formshare/views/form.py:546 msgid "There was an error while processing some of the CSV resource files:" msgstr "" -#: formshare/views/form.py:558 +#: formshare/views/form.py:563 msgid "" "An unexpected error occurred while processing the search expression. An " "email has been sent to the technical team and they will contact you ASAP." msgstr "" -#: formshare/views/form.py:565 formshare/views/repository.py:403 -msgid "The primary key is invalid." +#: formshare/views/form.py:571 +msgid "" +"The variable to control duplicate submissions has an invalid type. E.g., " +"the variable cannot be note, picture, video, sound, select_multiple, or " +"geo-spacial. The most appropriate types are text, datetime, barcode, " +"calculate, select_one, or integer." msgstr "" -#: formshare/views/form.py:602 +#: formshare/views/form.py:614 msgid "The following choices are duplicated in your ODK:" msgstr "" -#: formshare/views/form.py:613 +#: formshare/views/form.py:625 msgid "with the following duplicates:" msgstr "" -#: formshare/views/form.py:931 +#: formshare/views/form.py:943 msgid "You need to indicate a primary key" msgstr "" -#: formshare/views/form.py:962 formshare/views/form.py:1178 +#: formshare/views/form.py:974 formshare/views/form.py:1190 msgid "You need to indicate a variable for labeling the cases" msgstr "" -#: formshare/views/form.py:976 formshare/views/form.py:1191 +#: formshare/views/form.py:988 formshare/views/form.py:1203 msgid "" "The labeling variable and the variable to identify each case cannot be " "the same" msgstr "" -#: formshare/views/form.py:992 formshare/views/form.py:1205 +#: formshare/views/form.py:1004 formshare/views/form.py:1217 msgid "You need to indicate a type of case form" msgstr "" -#: formshare/views/form.py:1006 formshare/views/form.py:1218 +#: formshare/views/form.py:1018 formshare/views/form.py:1230 msgid "You need to indicate a variable for searching and selecting cases" msgstr "" -#: formshare/views/form.py:1023 formshare/views/form.py:1232 +#: formshare/views/form.py:1035 formshare/views/form.py:1244 msgid "" "The variable for searching and selecting cases cannot be the same as the " "primary key" msgstr "" -#: formshare/views/form.py:1041 formshare/views/form.py:1248 +#: formshare/views/form.py:1053 formshare/views/form.py:1260 msgid "You need to indicate a variable that records date or date and time" msgstr "" -#: formshare/views/form.py:1060 formshare/views/form.py:1265 +#: formshare/views/form.py:1072 formshare/views/form.py:1277 msgid "" "The variable for recording a date or a date and time cannot be the same " "as the primary key or the case selector variable" msgstr "" -#: formshare/views/form.py:1091 +#: formshare/views/form.py:1103 msgid "The form was added successfully" msgstr "" -#: formshare/views/form.py:1109 formshare/views/form.py:1308 +#: formshare/views/form.py:1121 formshare/views/form.py:1320 msgid "Unable to upload the form: " msgstr "" -#: formshare/views/form.py:1155 +#: formshare/views/form.py:1167 msgid "You need to specify a primary key" msgstr "" -#: formshare/views/form.py:1298 +#: formshare/views/form.py:1310 msgid "The ODK form was successfully updated" msgstr "" -#: formshare/views/form.py:1359 +#: formshare/views/form.py:1371 msgid "The form was edited successfully" msgstr "" -#: formshare/views/form.py:1485 +#: formshare/views/form.py:1497 msgid "The form was deleted successfully" msgstr "" -#: formshare/views/form.py:1544 +#: formshare/views/form.py:1556 msgid "The form was activated successfully" msgstr "" -#: formshare/views/form.py:1597 +#: formshare/views/form.py:1609 msgid "The form was deactivated successfully" msgstr "" -#: formshare/views/form.py:1711 formshare/views/projects.py:538 +#: formshare/views/form.py:1723 formshare/views/projects.py:538 msgid "No files were attached" msgstr "" -#: formshare/views/form.py:1715 formshare/views/form.py:1722 +#: formshare/views/form.py:1727 formshare/views/form.py:1734 #: formshare/views/projects.py:542 formshare/views/projects.py:549 msgid "Error {} encountered. A log entry has been produced" msgstr "" -#: formshare/views/form.py:1728 formshare/views/projects.py:556 +#: formshare/views/form.py:1740 formshare/views/projects.py:556 msgid "The file was uploaded successfully" msgstr "" -#: formshare/views/form.py:1732 formshare/views/projects.py:560 +#: formshare/views/form.py:1744 formshare/views/projects.py:560 msgid "The files were uploaded successfully" msgstr "" -#: formshare/views/form.py:1790 +#: formshare/views/form.py:1802 msgid "You cannot remove this file because it is required by the repository" msgstr "" -#: formshare/views/form.py:1814 +#: formshare/views/form.py:1826 msgid "The files was removed successfully" msgstr "" -#: formshare/views/form.py:2098 +#: formshare/views/form.py:2110 msgid "The information was changed successfully" msgstr "" -#: formshare/views/form.py:2194 +#: formshare/views/form.py:2206 msgid "The assistant was removed successfully" msgstr "" -#: formshare/views/form.py:2279 +#: formshare/views/form.py:2291 msgid "The group was added successfully" msgstr "" -#: formshare/views/form.py:2370 +#: formshare/views/form.py:2382 msgid "The role was changed successfully" msgstr "" -#: formshare/views/form.py:2428 +#: formshare/views/form.py:2440 msgid "The group was removed successfully" msgstr "" -#: formshare/views/form.py:3092 +#: formshare/views/form.py:3252 msgid "The process was stopped successfully" msgstr "" -#: formshare/views/form.py:3098 +#: formshare/views/form.py:3258 msgid "FormShare was not able to stop the process" msgstr "" -#: formshare/views/form.py:3430 +#: formshare/views/form.py:3590 msgid "Such alias already exist" msgstr "" -#: formshare/views/form.py:3434 +#: formshare/views/form.py:3594 msgid "Such field does not exist" msgstr "" -#: formshare/views/form.py:3438 +#: formshare/views/form.py:3598 msgid "The alias cannot be a number" msgstr "" -#: formshare/views/form.py:3441 +#: formshare/views/form.py:3601 msgid "The alias is invalid" msgstr "" -#: formshare/views/form.py:3444 +#: formshare/views/form.py:3604 msgid "The alias has invalid characters. Only underscore (_) is allowed" msgstr "" -#: formshare/views/form.py:3532 formshare/views/form.py:3544 -#: formshare/views/form.py:3657 formshare/views/form.py:3667 +#: formshare/views/form.py:3692 formshare/views/form.py:3704 +#: formshare/views/form.py:3817 formshare/views/form.py:3827 #: formshare/views/projects.py:759 formshare/views/projects.py:768 #: formshare/views/projects.py:850 formshare/views/projects.py:857 msgid "Invalid dates" msgstr "" -#: formshare/views/form.py:3564 +#: formshare/views/form.py:3724 msgid "The partner was added successfully to this form" msgstr "" -#: formshare/views/form.py:3681 formshare/views/projects.py:873 +#: formshare/views/form.py:3841 formshare/views/projects.py:873 msgid "The partner was successfully updated" msgstr "" -#: formshare/views/form.py:3741 +#: formshare/views/form.py:3901 msgid "The partner was successfully removed from this form" msgstr "" -#: formshare/views/form.py:3846 formshare/views/repository.py:104 +#: formshare/views/form.py:4006 formshare/views/repository.py:104 msgid "You need to indicate the primary language" msgstr "" -#: formshare/views/form.py:3895 formshare/views/repository.py:155 +#: formshare/views/form.py:4055 formshare/views/repository.py:155 msgid "Each language needs to have an unique ISO 639-1 code" msgstr "" -#: formshare/views/form.py:3902 formshare/views/repository.py:162 +#: formshare/views/form.py:4062 formshare/views/repository.py:162 msgid "You need to indicate a ISO 639-1 code for each language" msgstr "" @@ -6498,6 +6613,10 @@ msgstr "" msgid "FormShare is creating the repository" msgstr "" +#: formshare/views/repository.py:403 +msgid "The primary key is invalid." +msgstr "" + #: formshare/views/repository.py:464 msgid "with select" msgstr "" @@ -8187,3 +8306,12 @@ msgstr "" #~ msgid "The partner was added successfully removed from this form" #~ msgstr "" +#~ msgid "Recover my password" +#~ msgstr "" + +#~ msgid "Recover" +#~ msgstr "" + +#~ msgid "We will send you an email with your password" +#~ msgstr "" + diff --git a/formshare/locale/es/LC_MESSAGES/formshare.po b/formshare/locale/es/LC_MESSAGES/formshare.po index cd2109bb1..bf9c36c4c 100644 --- a/formshare/locale/es/LC_MESSAGES/formshare.po +++ b/formshare/locale/es/LC_MESSAGES/formshare.po @@ -51,7 +51,7 @@ msgstr "El colaborador ya es parte de este proyecto" msgid "This form is blocked and cannot be changed at the moment." msgstr "Este formulario está bloqueado y no se puede cambiar en este momento." -#: formshare/processes/db/form.py:1462 formshare/processes/db/project.py:1253 +#: formshare/processes/db/form.py:1462 formshare/processes/db/project.py:1255 msgid "The file {} already exist" msgstr "El archivo {} ya existe" @@ -78,27 +78,27 @@ msgstr "No se pudo borrar el producto" msgid "The output does not exist" msgstr "El producto no existe" -#: formshare/processes/db/project.py:1117 +#: formshare/processes/db/project.py:1119 msgid "Error allocating access" msgstr "Error al dar acceso" -#: formshare/processes/db/project.py:1130 +#: formshare/processes/db/project.py:1132 msgid "The project already exists" msgstr "El proyecto ya existe" -#: formshare/processes/db/project.py:1142 +#: formshare/processes/db/project.py:1144 msgid "A project with name '{}' already exists in your account" msgstr "Un proyecto con nombre '{}' ya existe en su cuenta" -#: formshare/processes/db/project.py:1195 +#: formshare/processes/db/project.py:1197 msgid "If you have forms with submissions, first you need to delete such forms" msgstr "Si usted tiene formularios con envíos, primero tendría que borrar esos formularios" -#: formshare/processes/db/user.py:140 +#: formshare/processes/db/user.py:141 msgid "Username is already taken" msgstr "Este usuario ya está en uso" -#: formshare/processes/db/user.py:149 +#: formshare/processes/db/user.py:150 msgid "Email is invalid" msgstr "El correo electrónico es inválido" @@ -114,124 +114,124 @@ msgstr "FormShare - Solicitud de colaboración" msgid "FormShare - Token security alert" msgstr "Alerta de seguridad de token" -#: formshare/processes/odk/api.py:458 +#: formshare/processes/odk/api.py:459 msgid "The primary key variable does not exist or is inside a repeat" msgstr "La llave primaria no se encontró en el formulario ODK o está dentro de un \"repeat\"" -#: formshare/processes/odk/api.py:472 formshare/processes/odk/api.py:521 -#: formshare/processes/odk/api.py:543 formshare/processes/odk/api.py:645 -#: formshare/processes/odk/api.py:697 formshare/views/form.py:469 +#: formshare/processes/odk/api.py:473 formshare/processes/odk/api.py:522 +#: formshare/processes/odk/api.py:544 formshare/processes/odk/api.py:646 +#: formshare/processes/odk/api.py:698 formshare/views/form.py:474 msgid "FormShare thoroughly checks your ODK for inconsistencies." msgstr "FormShare verifica completamente su ODK por inconsistencias" -#: formshare/processes/odk/api.py:476 +#: formshare/processes/odk/api.py:477 msgid "The following variables are duplicated within repeats or outside repeats in the ODK you just submitted:" msgstr "El formulario ODK tienes las siguientes variables repetidas dentro de un mismo repeat o fuera de algún repeat:" -#: formshare/processes/odk/api.py:486 +#: formshare/processes/odk/api.py:487 msgid "Outside any repeat" msgstr "Fuera de algún repeat" -#: formshare/processes/odk/api.py:488 +#: formshare/processes/odk/api.py:489 msgid "In repeat: {}" msgstr "En el repeat {}" -#: formshare/processes/odk/api.py:497 +#: formshare/processes/odk/api.py:498 msgid "Variable: {}" msgstr "Variable: {}" -#: formshare/processes/odk/api.py:503 formshare/processes/odk/api.py:661 +#: formshare/processes/odk/api.py:504 formshare/processes/odk/api.py:662 msgid "Please note that FormShare only allows basic Latin letters, digits 0-9, dollar and underscore in repeat, group and variable names." msgstr "Por favor tome nota de que FormShare sólo permite letras en latín, dígitos de 0 a 9, signo de dólares y guion bajo en los nombres de repeats, groups y nombres de variables" -#: formshare/processes/odk/api.py:523 +#: formshare/processes/odk/api.py:524 msgid "The following variables have invalid names:" msgstr "Las siguientes variables tienen nombres inválidos" -#: formshare/processes/odk/api.py:529 +#: formshare/processes/odk/api.py:530 msgid "Please change those names and try again." msgstr "Por favor cambie esos nombres y trate de nuevo." -#: formshare/processes/odk/api.py:545 +#: formshare/processes/odk/api.py:546 msgid "The following choices are identical:" msgstr "Las siguientes opciones son idénticas:" -#: formshare/processes/odk/api.py:558 +#: formshare/processes/odk/api.py:559 msgid " with the following duplicates: " msgstr "con los siguientes duplicados:" -#: formshare/processes/odk/api.py:566 +#: formshare/processes/odk/api.py:567 msgid "Please remove the duplicated choices and try again." msgstr "Elimine las opciones duplicadas e intente nuevamente." -#: formshare/processes/odk/api.py:571 formshare/views/form.py:632 +#: formshare/processes/odk/api.py:572 formshare/views/form.py:637 msgid "This ODK form mixes coded and not coded languages. For example label::English (en) and label::Español. You need to code all the labels that are marked for translation." msgstr "Este formulario ODK mezcla lenguajes codificados y no codificados. Por ejemplo label::English (en) y label::Español. Es necesario codificar todas las etiquetas que están marcadas para ser traducidas." -#: formshare/processes/odk/api.py:598 formshare/views/form.py:641 +#: formshare/processes/odk/api.py:599 formshare/views/form.py:646 msgid "FormShare needs you to shorten the name of some of your tables." msgstr "FormShare necesita que acortes el nombre de algunas de tus tablas." #. | msgid "The following tables have more than 64 selects: " #. | msgid "The following tables have more than 60 selects: " -#: formshare/processes/odk/api.py:603 formshare/views/form.py:648 +#: formshare/processes/odk/api.py:604 formshare/views/form.py:653 msgid "The following tables have a name longer than 64 characters:" msgstr "Las siguientes tablas tienen un nombre de más de 64 caracteres:" -#: formshare/processes/odk/api.py:625 formshare/views/form.py:674 +#: formshare/processes/odk/api.py:626 formshare/views/form.py:679 msgid "Please shorten the name of the tables and/or the selects and try again." msgstr "Acorte el nombre de las tablas y / o las listas de selección y vuelva a intentarlo." -#: formshare/processes/odk/api.py:649 +#: formshare/processes/odk/api.py:650 msgid "The following repeats are duplicated in the ODK you just submitted:" msgstr "Los siguientes repeats están duplicados en el ODK que acaba de subir" -#: formshare/processes/odk/api.py:657 +#: formshare/processes/odk/api.py:658 msgid "Repeat: {}" msgstr "Repeat {}" -#: formshare/processes/odk/api.py:701 formshare/views/form.py:474 +#: formshare/processes/odk/api.py:702 formshare/views/form.py:479 msgid "The following options are duplicated in the ODK you just submitted:" msgstr "Las siguientes opciones estas duplicadas en el ODK que usted trató de subir" -#: formshare/processes/odk/api.py:713 formshare/views/form.py:486 +#: formshare/processes/odk/api.py:714 formshare/views/form.py:491 msgid "Option {} in variable {}" msgstr "Opción {} en variable {}" -#: formshare/processes/odk/api.py:731 +#: formshare/processes/odk/api.py:732 msgid "Malformed language in your ODK. You have label:X (Y) when it must be label::X (Y). With two colons (::)" msgstr "Lenguaje mal formado en su ODK. Tienes label: X (Y) cuando debe serlabel :: X (Y). Con dos dos puntos (::)" -#: formshare/processes/odk/api.py:748 +#: formshare/processes/odk/api.py:749 msgid "You have choices but not labels. Did you missed the :: between label and language? Like label::English (en)" msgstr "Tienes opciones pero no etiquetas. ¿Pusiste :: entre la etiqueta yidioma? Como label::English (en)" -#: formshare/processes/odk/api.py:765 +#: formshare/processes/odk/api.py:766 msgid "FormShare manages your data in a better way but by doing so it has more restrictions." msgstr "Formshare maneja sus datos de una mejor forma sin embargo posee más restricciones." #. | msgid "The following tables have more than 64 selects: " -#: formshare/processes/odk/api.py:771 +#: formshare/processes/odk/api.py:772 msgid "The following tables have more than 60 selects: " msgstr "Las siguientes tablas tienen más de 60 opciones de selección (selects):" -#: formshare/processes/odk/api.py:779 +#: formshare/processes/odk/api.py:780 msgid " with " msgstr " con" -#: formshare/processes/odk/api.py:779 +#: formshare/processes/odk/api.py:780 msgid " selects" msgstr " opciones de selección" -#: formshare/processes/odk/api.py:784 +#: formshare/processes/odk/api.py:785 msgid "Some information on this restriction and how to correct it:" msgstr "Algo de información acerca de esta restricción y cómo corregirla:" -#: formshare/processes/odk/api.py:789 +#: formshare/processes/odk/api.py:790 msgid "We tend to organize our ODK forms in sections with questions around a topic. For example: \"livestock inputs\" or \"crops sales\"." msgstr "Usualmente organizamos nuestros formularios ODK en secciones con preguntas relacionadas a algo. Por ejemplo: \"alimentación animal\" o \"ventas por cultivos\"" -#: formshare/processes/odk/api.py:797 +#: formshare/processes/odk/api.py:798 msgid "These sections have type = \"begin/end group\". We also organize questions that must be repeated in sections with type = \"begin/end repeat.\"" msgstr "Estas secciones poseen en ODK type = \"begin/end group\". También organizamos las preguntas que se tienen que repetir en secciones con \"begin/end repeat.\"" @@ -245,38 +245,38 @@ msgstr "Estas secciones poseen en ODK type = \"begin/end group\". También organ #. could" #. | " potentially have more than 64 selects. FormShare can only handle 64 " #. | "selects per table." -#: formshare/processes/odk/api.py:805 +#: formshare/processes/odk/api.py:806 msgid "FormShare stores repeats as separate tables (like different Excel sheets) however groups are not stored as repeats. FormShare stores all items (questions, notes, calculations, etc.) outside repeats into a table called \"maintable\". Thus \"maintable\" usually end up with several items and if your ODK form has many selects, then the \"maintable\" could potentially have more than 60 selects. FormShare can only handle 60 selects per table." msgstr "FormShare almacena \"repeats\" en tablas separadas (como las hojas en un Excel) sin embargo los \"groups\" no se almacenan en tablas separadas. FormShare almacena todos los elementos (preguntas, notas, cálculos, etc.) fuera de \"repeats\" dentro de una tabla llamada \"maintable\". Por esta razón \"maintable\" usualmente posee muchos elementos y si su formulario ODK posee muchas opciones de selección (selects) entonces la tabla \"maintable\" podría llegar a tener más de 60 opciones de selección. FormShare solo puede manejar 60 opciones de selección por tabla." -#: formshare/processes/odk/api.py:817 +#: formshare/processes/odk/api.py:818 msgid "You can bypass this restriction by creating groups of items inside repeats BUT WITH repeat_count = 1. A repeat with repeat_count = 1 will behave in the same way as a group, but FormShare will create a new table for it to store all its items. Eventually if you export the data to Excel your items will be organized in different sheets each representing a table." msgstr "Usted puede sobrepasar esta restricción creando grupos de elementos dentro de \"repeats\" PERO CON \"repeat_count = 1\". Un \"repeat\" con \"repeat_count = 1\" se va a comportar de la misma forma que un grupo pero FormShare creará una tabla para almacenar todos sus elementos, Eventualmente si usted exportara los datos a Excel los elementos de su formulario estarán organizados en diferentes páginas cada una representando una tabla." -#: formshare/processes/odk/api.py:826 +#: formshare/processes/odk/api.py:827 msgid "Please edit your ODK XLSX/XLS file, group several items inside repeats with repeat_count = 1 and try to upload the form again." msgstr "Por favor edite su archivo XLSX/XLS, agrupe varios elementos dentro de repeats CON repeat_count = 1 e intente subir de nuevo el formulario." -#: formshare/processes/odk/api.py:872 formshare/processes/odk/api.py:1310 +#: formshare/processes/odk/api.py:873 formshare/processes/odk/api.py:1311 msgid "No file was attached" msgstr "No adjuntó ningún archivo" -#: formshare/processes/odk/api.py:894 formshare/processes/odk/api.py:1333 +#: formshare/processes/odk/api.py:895 formshare/processes/odk/api.py:1334 msgid "Invalid file type" msgstr "Archivo de tipo inválido" -#: formshare/processes/odk/api.py:963 formshare/processes/odk/api.py:1404 +#: formshare/processes/odk/api.py:964 formshare/processes/odk/api.py:1405 msgid "The variable {} used to identify the cases is invalid. Only text, calculates or integers are allowed." msgstr "La variable {} utilizada para identificar los casos no es válida. Solo se permiten texto, calcular, o números enteros." -#: formshare/processes/odk/api.py:984 formshare/processes/odk/api.py:1425 +#: formshare/processes/odk/api.py:985 formshare/processes/odk/api.py:1426 msgid "The variable {} used to label cases was not found or is invalid. Only text, calculates or integers are allowed." msgstr "La variable {} utilizada para etiquetar los casos no se encontró o no es válida. Solamente se permiten texto, calcular, o números enteros." #. | msgid "" "The variable {} used to search and select cases was not found or #. | is " "invalid. The variable must be select_one_from_file using a CSV #. file." -#: formshare/processes/odk/api.py:1012 +#: formshare/processes/odk/api.py:1013 msgid "The variable {} used to search and select cases was not found or is invalid. The variable must be select_one_from_file using a CSV file or a barcode" msgstr "La variable {} utilizada para buscar y seleccionar casos no se encontró o es inválida. La variable debe ser select_one_from_file usando un archivo CSV o una variable de código de barras." @@ -286,42 +286,42 @@ msgstr "La variable {} utilizada para buscar y seleccionar casos no se encontró #. | is " "invalid. The variable must be select_one_from_file using a CSV file #. or #. | a " "barcode." -#: formshare/processes/odk/api.py:1027 formshare/processes/odk/api.py:1469 +#: formshare/processes/odk/api.py:1028 formshare/processes/odk/api.py:1470 msgid "The variable {} used to record a date or date and time was not found or is invalid. The variable must be date or datetime." msgstr "La variable {} utilizada para registrar la fecha no se encontró o es inválida. La variable debe de ser \"date\" o \"datetime\"." -#: formshare/processes/odk/api.py:1249 +#: formshare/processes/odk/api.py:1250 msgid "The form already exists in this project" msgstr "El formulario ya existe en este proyecto" -#: formshare/processes/odk/api.py:1253 formshare/processes/odk/api.py:1741 +#: formshare/processes/odk/api.py:1254 formshare/processes/odk/api.py:1742 msgid "The form ID has especial characters. FormShare only allows letters, numbers and underscores(_)" msgstr "El identificador del formulario posee caracteres inválidos. FormShare solo permite letras, números y guion bajo" -#: formshare/processes/odk/api.py:1260 +#: formshare/processes/odk/api.py:1261 msgid "Cannot find XForm ID. Please include this ODK form in an issue on " msgstr "No se pudo encontrar el identificador del formulario. Por favor reporte este problema en" #. | msgid "" "The variable {} used to search and select cases was not found or #. | is " "invalid. The variable must be select_one_from_file using a CSV #. file." -#: formshare/processes/odk/api.py:1453 +#: formshare/processes/odk/api.py:1454 msgid "The variable {} used to search and select cases was not found or is invalid. The variable must be select_one_from_file using a CSV file or a barcode." msgstr "La variable {} utilizada para buscar y seleccionar casos no se encontró o es inválida. La variable debe ser select_one_from_file usando un archivo CSV o una variable de código de barras." -#: formshare/processes/odk/api.py:1729 +#: formshare/processes/odk/api.py:1730 msgid "The form does not exist in this project" msgstr "El formulario no existe en este proyecto" -#: formshare/processes/odk/api.py:1733 +#: formshare/processes/odk/api.py:1734 msgid "The \"form_id\" of the current form does not match the \"form_id\" of the one you uploaded. You cannot update a form with another form." msgstr "El identificador del formulario no calza con el identificador del formulario que acaba de subir. Usted no puede actualizar un formulario con otro completamente distinto" -#: formshare/processes/odk/api.py:1748 +#: formshare/processes/odk/api.py:1749 msgid "Cannot find XForm ID. Please post the form as an issue on " msgstr "No se pudo encontrar el identificador del formulario. Por favor reporte este problema en" -#: formshare/processes/odk/api.py:2475 +#: formshare/processes/odk/api.py:2476 msgid "The language \"{}\" is missing in this version of the form and cannot be merged.\n" "\n" "Use the \"Fix language\" button to set the languages in this version of the ODK Form." @@ -329,7 +329,7 @@ msgstr "El idioma \"{}\" no está presente en esta versión del formulario y no "\n" "Utilice el botón \"Corregir idioma\" para configurar los idiomas en esta versión deel formulario ODK." -#: formshare/processes/odk/api.py:2481 +#: formshare/processes/odk/api.py:2482 msgid "The language called \"default\" appears when you have a \"label\" without indicating a language. For example if you had a column called \"label\" and another called \"label:English (es)\" then \"default\" refers to the language of \"label\" which was not indicated in the previous version of this ODK Form.\n" "\n" "In this new version you added the language to the \"label\" therefore \"default\" does not exists" @@ -337,7 +337,7 @@ msgstr "El idioma llamado \"predeterminado\" aparece cuando tienes un \"label\" "\n" "En esta nueva versión, agregó el idioma a \"label\", por lo tanto\"predeterminado\" no existe" -#: formshare/processes/odk/api.py:2497 +#: formshare/processes/odk/api.py:2498 msgid "This version of the form is in multiple languages but the previous one was not and therefore and cannot be merged.\n" "\n" "Use the \"Fix language\" button to set the languages in this version of the ODK Form." @@ -345,7 +345,7 @@ msgstr "Esta versión del formulario está en varios idiomas, pero la anteriorno "\n" "Utilice el botón \"Corregir idioma\" para configurar los idiomas en esta versión delformulario ODK." -#: formshare/processes/odk/api.py:3431 +#: formshare/processes/odk/api.py:3613 msgid "Generating Diff HTML file error. Diff file for such commit does not exist" msgstr "Error al generar el archivo Diff HTML de error. El archivo diff no existe" @@ -353,56 +353,56 @@ msgstr "Error al generar el archivo Diff HTML de error. El archivo diff no exist msgid "Error storing setting for key {}. The key already exits." msgstr "Error al almacenar la configuración para la llave {}. La llave ya existe" -#: formshare/processes/submission/api.py:272 +#: formshare/processes/submission/api.py:271 msgid "There are no media files to download" msgstr "No hay multimedios para descargar" -#: formshare/processes/submission/api.py:381 +#: formshare/processes/submission/api.py:411 msgid "This form was uploaded using an old version of ODK Tools. Please upload it again." msgstr "Este formulario fue subido usando una versión antigua de ODK Tools. Por favor súbalo nuevamente." -#: formshare/processes/submission/api.py:433 +#: formshare/processes/submission/api.py:462 msgid "Error while creating dummy file" msgstr "Error al crear el archivo de platilla JSON" -#: formshare/processes/submission/api.py:435 +#: formshare/processes/submission/api.py:464 msgid "There are no submissions to download" msgstr "No hay envíos para descargar" -#: formshare/processes/submission/api.py:471 -#: formshare/processes/submission/api.py:504 -#: formshare/processes/submission/api.py:547 -#: formshare/processes/submission/api.py:580 -#: formshare/processes/submission/api.py:624 -#: formshare/processes/submission/api.py:656 formshare/products/products.py:135 -#: formshare/products/products.py:143 +#: formshare/processes/submission/api.py:500 +#: formshare/processes/submission/api.py:533 +#: formshare/processes/submission/api.py:576 +#: formshare/processes/submission/api.py:609 +#: formshare/processes/submission/api.py:653 +#: formshare/processes/submission/api.py:685 formshare/products/products.py:139 +#: formshare/products/products.py:147 msgid "Without description" msgstr "Sin descripción" -#: formshare/processes/submission/api.py:852 +#: formshare/processes/submission/api.py:881 #: formshare/templates/dashboard/projects/forms/dictionary/edit_fields.jinja2:255 #: formshare/templates/dashboard/projects/forms/dictionary/edit_fields.jinja2:275 msgid "Exclude it" msgstr "Exclúyelo" -#: formshare/processes/submission/api.py:854 +#: formshare/processes/submission/api.py:883 #: formshare/templates/dashboard/projects/forms/dictionary/edit_fields.jinja2:265 msgid "Recode it" msgstr "Recodifíquelo" -#: formshare/processes/submission/api.py:856 +#: formshare/processes/submission/api.py:885 msgid "Unlink it" msgstr "Desconéctelo" -#: formshare/processes/submission/api.py:1112 +#: formshare/processes/submission/api.py:1141 msgid "AJAX Data error. Report this error as an issue on " msgstr "Error interno en AJAX. Reporte este problema en" -#: formshare/processes/submission/api.py:1156 +#: formshare/processes/submission/api.py:1185 msgid "Cannot update value. Check the valid values in lookup table " msgstr "No se pudo actualizar el valor. Revise si el valor está en la tabla de búsqueda asociada" -#: formshare/processes/submission/api.py:1169 +#: formshare/processes/submission/api.py:1198 msgid "Cannot update value. Check the valid values in lookup table" msgstr "No se pudo actualizar el valor. Revise si el valor está en la tabla de búsqueda asociada" @@ -431,7 +431,7 @@ msgid "Media" msgstr "Multimedios" #: formshare/products/products.py:124 -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:19 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:24 msgid "KML" msgstr "KML" @@ -458,7 +458,7 @@ msgstr "CSV Zip publicable" msgid "Unpublishable Zip CSV" msgstr "CSV Zip no publicable" -#: formshare/products/products.py:134 +#: formshare/products/products.py:138 msgid "Merge Form" msgstr "Fusionar Formulario" @@ -551,7 +551,7 @@ msgstr "Una de las hojas del Excel se ha repetido. Excel solo permite 30 caracte msgid "Unknown error while creating the XLSX. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" msgstr "Error desconocido al crear el archivo XLSX. Lamentamos este problema. Por favor reporte este error en https://github.com/qlands/FormShare" -#: formshare/products/export/zip_csv/celery_task.py:129 +#: formshare/products/export/zip_csv/celery_task.py:141 msgid "Unknown error while creating the CSV Zip. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" msgstr "Error desconocido al crear el CSV Zip. Lo sentimos. Por favor, informe este error como un problema en https://github.com/qlands/FormShare" @@ -656,6 +656,7 @@ msgstr "Reporte de la importación XML" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_kml.jinja2:5 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_xlsx.jinja2:5 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_csv.jinja2:5 +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:5 #: formshare/templates/dashboard/projects/forms/import_data/snippets/brdcrbs_import.jinja2:5 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_compare_forms.jinja2:5 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_frmdtls.jinja2:5 @@ -788,7 +789,7 @@ msgstr "Confirmación" #: formshare/templates/dashboard/projects/forms/snippets/edit_assistant.jinja2:32 #: formshare/templates/dashboard/projects/forms/snippets/edit_group.jinja2:32 #: formshare/templates/dashboard/projects/forms/snippets/edit_link_partner.jinja2:31 -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:27 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:35 #: formshare/templates/dashboard/projects/forms/snippets/link_partner.jinja2:35 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:13 #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:97 @@ -1649,6 +1650,10 @@ msgstr "Clic" #: formshare/templates/dashboard/index.jinja2:162 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:43 +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:64 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:10 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:17 @@ -2133,6 +2138,7 @@ msgstr "Colaboradores" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_kml.jinja2:8 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_xlsx.jinja2:8 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_csv.jinja2:8 +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:8 #: formshare/templates/dashboard/projects/forms/import_data/snippets/brdcrbs_import.jinja2:8 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_compare_forms.jinja2:8 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_frmdtls.jinja2:8 @@ -2832,36 +2838,42 @@ msgstr "Exportar a CSV" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:29 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:19 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:19 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:19 msgid "Options" msgstr "Opciones" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:22 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:22 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:22 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:22 msgid "Type of export" msgstr "Tipo de exportación" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:24 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:24 msgid "Publishable" msgstr "Publicable" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:24 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:24 msgid "Without sensitive data e.g., GPS" msgstr "Sin datos sensibles, p. Ej., GPS" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:25 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:25 msgid "Unpublishable" msgstr "No publicable" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:25 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:25 msgid "With sensitive data e.g., GPS" msgstr "Con datos sensibles, p. Ej., GPS" @@ -2869,6 +2881,7 @@ msgstr "Con datos sensibles, p. Ej., GPS" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:46 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:29 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:29 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:29 msgid "Lookup options for selects and multi-selects" msgstr "Opciones de búsqueda para selección simple y selección múltiple" @@ -2876,6 +2889,7 @@ msgstr "Opciones de búsqueda para selección simple y selección múltiple" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:48 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:31 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:31 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:31 msgid "Include option codes only" msgstr "Incluir solamente los códigos de opciones" @@ -2883,6 +2897,7 @@ msgstr "Incluir solamente los códigos de opciones" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:49 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:32 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:32 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:32 msgid "Convert option codes into labels" msgstr "Convertir los códigos de opciones a etiquetas" @@ -2890,13 +2905,15 @@ msgstr "Convertir los códigos de opciones a etiquetas" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:50 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:33 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:33 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:33 msgid "Include option codes and labels" msgstr "Incluir códigos y etiquetas" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:38 #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:55 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:38 -#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:38 +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:56 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:56 msgid "Generate" msgstr "Generar" @@ -3439,19 +3456,19 @@ msgstr "Tipo de exportación" msgid "XLSX" msgstr "XLSX" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:17 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:18 msgid "Flat CSV (One file)" msgstr "CSV plano (un archivo)" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:18 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:22 msgid "Zip CSV (Multiple files)" msgstr "Zip CSV (varios archivos)" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:20 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:25 msgid "Media (zip)" msgstr "Multimedios (zip)" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:28 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:36 msgid "Export" msgstr "Exportar" @@ -5412,19 +5429,6 @@ msgstr "Inicio de sesión para socios" msgid "Partner Email" msgstr "Correo electrónico del socio" -#: formshare/templates/generic/recover_password.jinja2:4 -#: formshare/templates/generic/recover_password.jinja2:11 -msgid "Recover my password" -msgstr "Recuperar mi contraseña" - -#: formshare/templates/generic/recover_password.jinja2:28 -msgid "Recover" -msgstr "Recuperar" - -#: formshare/templates/generic/recover_password.jinja2:33 -msgid "We will send you an email with your password" -msgstr "Le enviaremos un correo electrónico con su contraseña" - #: formshare/templates/generic/refresh.jinja2:3 msgid "Session timeout" msgstr "Sesión expirada" @@ -5458,6 +5462,8 @@ msgstr "Crear una cuenta" msgid "Already have an account?" msgstr "¿Ya tiene una cuenta?" +#: formshare/templates/generic/recover_password.jinja2:4 +#: formshare/templates/generic/recover_password.jinja2:11 #: formshare/templates/generic/reset_password.jinja2:4 #: formshare/templates/generic/reset_password.jinja2:11 msgid "Reset my password" @@ -5475,6 +5481,7 @@ msgstr "Ficha de restablecimiento de contraseña" msgid "New password confirmation" msgstr "Confirmación de la nueva contraseña" +#: formshare/templates/generic/recover_password.jinja2:28 #: formshare/templates/generic/reset_password.jinja2:31 msgid "Reset" msgstr "Restablecer" @@ -5664,7 +5671,7 @@ msgstr "El grupo se ha eliminado con éxito" msgid "Unable to delete the group: " msgstr "No se puede eliminar el grupo: " -#: formshare/views/assistant_groups.py:271 formshare/views/form.py:1967 +#: formshare/views/assistant_groups.py:271 formshare/views/form.py:1972 msgid "The assistant was added successfully" msgstr "El asistente se ha añadido con éxito" @@ -5823,34 +5830,34 @@ msgstr "Ha rechazado la colaboración" msgid "Unable to decline the collaboration: " msgstr "No se puede rechazar la colaboración: " -#: formshare/views/form.py:292 formshare/views/repository_merge.py:135 +#: formshare/views/form.py:297 formshare/views/repository_merge.py:135 msgid "The repeat \"{}\" changed parent from \"{}\" to \"{}\". You must rename the repeat before merging" msgstr "El repeat \"{}\" ha cambiado de padre de \"{}\" a \"{}\". Debe cambiar el nombre del repeat antes de fusionar" -#: formshare/views/form.py:305 formshare/views/repository_merge.py:148 +#: formshare/views/form.py:310 formshare/views/repository_merge.py:148 msgid "The parent repeat \"{}\" of repeat \"{}\" does not exist anymore. You must rename the repeat \"{}\" before merging" msgstr "El repeat padre \"{}\" del repeat \"{}\" ya no existe. Debe renombrar el repeat \"{}\" antes de fusionarla" -#: formshare/views/form.py:317 +#: formshare/views/form.py:322 msgid "The variable \"{}\" in repeat \"{}\" changed type. You must rename the variable before merging." msgstr "La variable \"{}\" en el repeat \"{}\" ha cambiado de tipo. Debe cambiar el nombre de la variable antes de fusionar." -#: formshare/views/form.py:329 +#: formshare/views/form.py:334 msgid "The variable \"{}\" in repeat \"{}\" has a different choice list name. You must rename the variable before merging. " msgstr "La variable \"{}\" en el repeat \"{}\" tiene un nombre de lista de elección diferente. Debe cambiar el nombre de la variable antes de la fusión. " -#: formshare/views/form.py:352 formshare/views/repository_merge.py:204 +#: formshare/views/form.py:357 formshare/views/repository_merge.py:204 msgid "Unknown error while merging. A message has been sent to the support team and they will contact you ASAP." msgstr "Error desconocido al fusionar. Se ha enviado un mensaje al equipo de soporte y se pondrán en contacto con usted lo antes posible." -#: formshare/views/form.py:365 formshare/views/form.py:376 -#: formshare/views/form.py:387 formshare/views/form.py:398 -#: formshare/views/form.py:434 formshare/views/form.py:579 -#: formshare/views/form.py:590 formshare/views/form.py:601 +#: formshare/views/form.py:370 formshare/views/form.py:381 +#: formshare/views/form.py:392 formshare/views/form.py:403 +#: formshare/views/form.py:439 formshare/views/form.py:584 +#: formshare/views/form.py:595 formshare/views/form.py:606 msgid "An unexpected error occurred while processing the merge. An email has been sent to the technical team and they will contact you ASAP." msgstr "Se ha producido un error inesperado al procesar la fusión. Se ha enviado un correo electrónico al equipo técnico y se pondrán en contacto con usted lo antes posible." -#: formshare/views/form.py:406 +#: formshare/views/form.py:411 msgid "This new version of the form has multiple languages when the previous one did not.\n" "\n" "Use the \"Fix language\" button to set the languages in this version of the ODK Form." @@ -5858,7 +5865,7 @@ msgstr "Esta nueva versión del formulario tiene varios idiomas cuando la anteri "\n" "Utilice el botón \"Corregir idioma\" para establecer los idiomas en esta versión del formulario ODK." -#: formshare/views/form.py:415 +#: formshare/views/form.py:420 msgid "This version of the ODK Form differs in the languages used. The following languages are undefined:\n" "\n" "" @@ -5866,27 +5873,27 @@ msgstr "Esta versión del Formulario ODK difiere en los idiomas utilizados. Los "\n" "" -#: formshare/views/form.py:496 formshare/views/repository.py:372 +#: formshare/views/form.py:501 formshare/views/repository.py:372 msgid "The primary key was not found in the ODK form or is inside a repeat" msgstr "La clave primaria no se ha encontrado en el formulario ODK o está dentro de un repeat" -#: formshare/views/form.py:504 formshare/views/form.py:526 +#: formshare/views/form.py:509 formshare/views/form.py:531 msgid "The following files are missing and you need to attach them:" msgstr "Faltan los siguientes archivos y hay que adjuntarlos:" -#: formshare/views/form.py:511 +#: formshare/views/form.py:516 msgid "There was an error while processing some of the XML resource files:" msgstr "Se ha producido un error al procesar algunos de los archivos de recursos XML:" -#: formshare/views/form.py:534 +#: formshare/views/form.py:539 msgid "The following CSV resource files have invalid characters:" msgstr "Los siguientes archivos de recursos CSV tienen caracteres no válidos:" -#: formshare/views/form.py:541 +#: formshare/views/form.py:546 msgid "There was an error while processing some of the CSV resource files:" msgstr "Se ha producido un error al procesar algunos de los archivos de recursos CSV:" -#: formshare/views/form.py:558 +#: formshare/views/form.py:563 msgid "An unexpected error occurred while processing the search expression. An email has been sent to the technical team and they will contact you ASAP." msgstr "Se ha producido un error inesperado al procesar la expresión de búsqueda. Se ha enviado un correo electrónico al equipo técnico y se pondrán en contacto con usted lo antes posible." @@ -5894,171 +5901,171 @@ msgstr "Se ha producido un error inesperado al procesar la expresión de búsque msgid "The primary key is invalid." msgstr "La clave primaria no es válida." -#: formshare/views/form.py:609 +#: formshare/views/form.py:614 msgid "The following choices are duplicated in your ODK:" msgstr "Las siguientes opciones se duplican en su ODK:" -#: formshare/views/form.py:620 +#: formshare/views/form.py:625 msgid "with the following duplicates:" msgstr "con los siguientes duplicados:" -#: formshare/views/form.py:938 +#: formshare/views/form.py:943 msgid "You need to indicate a primary key" msgstr "Es necesario indicar una clave primaria" -#: formshare/views/form.py:969 formshare/views/form.py:1185 +#: formshare/views/form.py:974 formshare/views/form.py:1190 msgid "You need to indicate a variable for labeling the cases" msgstr "Es necesario indicar una variable para etiquetar los casos" -#: formshare/views/form.py:983 formshare/views/form.py:1198 +#: formshare/views/form.py:988 formshare/views/form.py:1203 msgid "The labeling variable and the variable to identify each case cannot be the same" msgstr "La variable de etiquetado y la variable para identificar cada caso no pueden ser la misma" -#: formshare/views/form.py:999 formshare/views/form.py:1212 +#: formshare/views/form.py:1004 formshare/views/form.py:1217 msgid "You need to indicate a type of case form" msgstr "Debe indicar un tipo de formulario de caso" -#: formshare/views/form.py:1013 formshare/views/form.py:1225 +#: formshare/views/form.py:1018 formshare/views/form.py:1230 msgid "You need to indicate a variable for searching and selecting cases" msgstr "Es necesario indicar una variable para buscar y seleccionar casos" -#: formshare/views/form.py:1030 formshare/views/form.py:1239 +#: formshare/views/form.py:1035 formshare/views/form.py:1244 msgid "The variable for searching and selecting cases cannot be the same as the primary key" msgstr "La variable de búsqueda y selección de casos no puede ser la misma que la clave primaria" -#: formshare/views/form.py:1048 formshare/views/form.py:1255 +#: formshare/views/form.py:1053 formshare/views/form.py:1260 msgid "You need to indicate a variable that records date or date and time" msgstr "Es necesario indicar una variable que registre la fecha o la fecha y la hora" -#: formshare/views/form.py:1067 formshare/views/form.py:1272 +#: formshare/views/form.py:1072 formshare/views/form.py:1277 msgid "The variable for recording a date or a date and time cannot be the same as the primary key or the case selector variable" msgstr "La variable para registrar una fecha o una fecha y hora no puede ser la misma que la clave primaria o la variable del selector de casos" -#: formshare/views/form.py:1098 +#: formshare/views/form.py:1103 msgid "The form was added successfully" msgstr "El formulario se ha añadido con éxito" -#: formshare/views/form.py:1116 formshare/views/form.py:1315 +#: formshare/views/form.py:1121 formshare/views/form.py:1320 msgid "Unable to upload the form: " msgstr "No se puede cargar el formulario: " -#: formshare/views/form.py:1162 +#: formshare/views/form.py:1167 msgid "You need to specify a primary key" msgstr "Es necesario especificar una clave primaria" -#: formshare/views/form.py:1305 +#: formshare/views/form.py:1310 msgid "The ODK form was successfully updated" msgstr "El formulario ODK se ha actualizado con éxito" -#: formshare/views/form.py:1366 +#: formshare/views/form.py:1371 msgid "The form was edited successfully" msgstr "El formulario ha sido editado con éxito" -#: formshare/views/form.py:1492 +#: formshare/views/form.py:1497 msgid "The form was deleted successfully" msgstr "El formulario se ha eliminado con éxito" -#: formshare/views/form.py:1551 +#: formshare/views/form.py:1556 msgid "The form was activated successfully" msgstr "El formulario se ha activado con éxito" -#: formshare/views/form.py:1604 +#: formshare/views/form.py:1609 msgid "The form was deactivated successfully" msgstr "El formulario se ha desactivado con éxito" -#: formshare/views/form.py:1718 formshare/views/projects.py:538 +#: formshare/views/form.py:1723 formshare/views/projects.py:538 msgid "No files were attached" msgstr "No se han adjuntado archivos" -#: formshare/views/form.py:1722 formshare/views/form.py:1729 +#: formshare/views/form.py:1727 formshare/views/form.py:1734 #: formshare/views/projects.py:542 formshare/views/projects.py:549 msgid "Error {} encountered. A log entry has been produced" msgstr "Error {} encontrado. Se ha producido una entrada en el registro" -#: formshare/views/form.py:1735 formshare/views/projects.py:556 +#: formshare/views/form.py:1740 formshare/views/projects.py:556 msgid "The file was uploaded successfully" msgstr "El archivo se ha cargado con éxito" -#: formshare/views/form.py:1739 formshare/views/projects.py:560 +#: formshare/views/form.py:1744 formshare/views/projects.py:560 msgid "The files were uploaded successfully" msgstr "Los archivos se han cargado con éxito" -#: formshare/views/form.py:1797 +#: formshare/views/form.py:1802 msgid "You cannot remove this file because it is required by the repository" msgstr "No puede eliminar este archivo porque es necesario para el repositorio" -#: formshare/views/form.py:1821 +#: formshare/views/form.py:1826 msgid "The files was removed successfully" msgstr "Los archivos fueron eliminados con éxito" -#: formshare/views/form.py:2105 +#: formshare/views/form.py:2110 msgid "The information was changed successfully" msgstr "La información ha sido modificada con éxito" -#: formshare/views/form.py:2201 +#: formshare/views/form.py:2206 msgid "The assistant was removed successfully" msgstr "El asistente fue retirado con éxito" -#: formshare/views/form.py:2286 +#: formshare/views/form.py:2291 msgid "The group was added successfully" msgstr "El grupo se ha añadido con éxito" -#: formshare/views/form.py:2377 +#: formshare/views/form.py:2382 msgid "The role was changed successfully" msgstr "El papel fue cambiado con éxito" -#: formshare/views/form.py:2435 +#: formshare/views/form.py:2440 msgid "The group was removed successfully" msgstr "El grupo fue eliminado con éxito" -#: formshare/views/form.py:3099 +#: formshare/views/form.py:3252 msgid "The process was stopped successfully" msgstr "El proceso se ha detenido con éxito" -#: formshare/views/form.py:3105 +#: formshare/views/form.py:3258 msgid "FormShare was not able to stop the process" msgstr "FormShare no pudo detener el proceso" -#: formshare/views/form.py:3437 +#: formshare/views/form.py:3590 msgid "Such alias already exist" msgstr "Estos alias ya existen" -#: formshare/views/form.py:3441 +#: formshare/views/form.py:3594 msgid "Such field does not exist" msgstr "Este campo no existe" -#: formshare/views/form.py:3445 +#: formshare/views/form.py:3598 msgid "The alias cannot be a number" msgstr "El alias no puede ser un número" -#: formshare/views/form.py:3448 +#: formshare/views/form.py:3601 msgid "The alias is invalid" msgstr "El alias no es válido" -#: formshare/views/form.py:3451 +#: formshare/views/form.py:3604 msgid "The alias has invalid characters. Only underscore (_) is allowed" msgstr "El alias tiene caracteres no válidos. Sólo se permite el guión bajo (_)" -#: formshare/views/form.py:3539 formshare/views/form.py:3551 -#: formshare/views/form.py:3664 formshare/views/form.py:3674 +#: formshare/views/form.py:3692 formshare/views/form.py:3704 +#: formshare/views/form.py:3817 formshare/views/form.py:3827 #: formshare/views/projects.py:759 formshare/views/projects.py:768 #: formshare/views/projects.py:850 formshare/views/projects.py:857 msgid "Invalid dates" msgstr "Fechas no válidas" -#: formshare/views/form.py:3571 +#: formshare/views/form.py:3724 msgid "The partner was added successfully to this form" msgstr "El socio se ha añadido con éxito a este formulario" -#: formshare/views/form.py:3853 formshare/views/repository.py:104 +#: formshare/views/form.py:4006 formshare/views/repository.py:104 msgid "You need to indicate the primary language" msgstr "Debe indicar el lenguage principal" -#: formshare/views/form.py:3902 formshare/views/repository.py:155 +#: formshare/views/form.py:4055 formshare/views/repository.py:155 msgid "Each language needs to have an unique ISO 639-1 code" msgstr "Cada lenguage debe tener un código ISO 639-1 único" -#: formshare/views/form.py:3909 formshare/views/repository.py:162 +#: formshare/views/form.py:4062 formshare/views/repository.py:162 msgid "You need to indicate a ISO 639-1 code for each language" msgstr "Debe indicar un código ISO 639-1 para cada lenguage" @@ -6184,7 +6191,7 @@ msgstr "El socio se vinculó con éxito a este proyecto" msgid "You need to indicate a partner" msgstr "Es necesario indicar un socio" -#: formshare/views/form.py:3688 formshare/views/projects.py:873 +#: formshare/views/form.py:3841 formshare/views/projects.py:873 msgid "The partner was successfully updated" msgstr "El socio fue actualizado con éxito" @@ -6341,15 +6348,99 @@ msgstr "Es necesario dar una explicación cuando se descarta un error" msgid "You need to provide an explanation when canceling a disregard" msgstr "Es necesario dar una explicación cuando se anula un descarte" -#: formshare/views/form.py:3748 +#: formshare/views/form.py:3901 msgid "The partner was successfully removed from this form" msgstr "El socio fue eliminado con éxito de este formulario" -#: formshare/processes/odk/api.py:579 +#: formshare/processes/odk/api.py:580 msgid "The variable to control duplicate submissions has an invalid type. E.g., the variable cannot be note, picture, video, sound, select_multiple, or geo-spacial. The most appropriate types are text, datetime, barcode, calculate, select_one, or integer" msgstr "La variable para controlar envíos duplicados es de un tipo no válido. Por ejemplo, la variable no puede ser nota, imagen, video, sonido, select_multiple o geoespacial. Los tipos más apropiados son texto, fecha y hora, código de barras, calculate, select_one o entero" -#: formshare/views/form.py:566 +#: formshare/views/form.py:571 msgid "The variable to control duplicate submissions has an invalid type. E.g., the variable cannot be note, picture, video, sound, select_multiple, or geo-spacial. The most appropriate types are text, datetime, barcode, calculate, select_one, or integer." msgstr "La variable para controlar envíos duplicados es de un tipo no válido. Por ejemplo, la variable no puede ser nota, imagen, video, sonido, select_multiple o geoespacial. Los tipos más apropiados son texto, fecha y hora, código de barras, calculate, select_one o entero." +#: formshare/products/products.py:134 +msgid "Publishable Zip JSON" +msgstr "Zip JSON publicable" + +#: formshare/products/products.py:136 +msgid "Unpublishable Zip JSON" +msgstr "Zip JSON no publicable" + +#: formshare/products/export/zip_json/celery_task.py:141 +msgid "Unknown error while creating the JSON Zip. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" +msgstr "Error desconocido al crear el Zip JSON. Lo sentimos. Por favor, informe de este error como un problema en https://github.com/qlands/FormShare" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:38 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:38 +msgid "Multiselects" +msgstr "Multiselecciones" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:40 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:40 +msgid "Export multiselect tables" +msgstr "Exportar tablas multiselección" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 +msgid "When checked, FormShare will create a CSV file for each multiselect table. But will not resolve multiselect fields. Click" +msgstr "Cuando se marca, FormShare creará un archivo CSV para cada tabla multiselect. Pero no resolverá los campos multiselección. Haga clic" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 +msgid "for more information about how FormShare stores \"select_multiple\" variables." +msgstr "para más información sobre cómo FormShare almacena las variables \"select_multiple\"." + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:47 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:47 +msgid "Lookups" +msgstr "Consultas" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:49 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:49 +msgid "Export lookup tables" +msgstr "Exportar tablas de búsqueda" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 +msgid "When checked, FormShare will create a CSV file for each lookup table, but it will not resolve option labels. Click" +msgstr "Si se selecciona esta opción, FormShare creará un archivo CSV para cada tabla de búsqueda, pero no resolverá las etiquetas de las opciones. Haga clic" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 +msgid "for more information about how FormShare stores \"select_one\" variables." +msgstr "para más información sobre cómo FormShare almacena las variables \"select_one\"." + +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:2 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:4 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:19 +msgid "Export to Zip JSON" +msgstr "Exportar a Zip JSON" + +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 +msgid "When checked, FormShare will create a JSON file for each multiselect table, but it will not resolve multiselect fields. Click" +msgstr "Si se marca, FormShare creará un archivo JSON para cada tabla multiselect, pero no resolverá los campos multiselect. Haga clic" + +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 +msgid "When checked, FormShare will create a JSON file for each lookup table, but it will not resolve option labels. Click" +msgstr "Si se marca, FormShare creará un archivo JSON para cada tabla de búsqueda, pero no resolverá las etiquetas de las opciones. Haga clic" + +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:17 +msgid "Zip JSON Options" +msgstr "Opciones de Zip JSON" + +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:20 +msgid "Flat CSV (One file) (Disabled)" +msgstr "CSV plano (Un archivo) (Desactivado)" + +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:23 +msgid "Zip JSON (Multiple files)" +msgstr "Zip JSON (varios archivos)" + +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:29 +msgid "Note: Flat CSV is disabled with more than 10,000 submissions." +msgstr "Nota: El CSV plano se desactiva con más de 10.000 envíos." + +#: formshare/templates/generic/recover_password.jinja2:33 +msgid "We will send you an email with instructions" +msgstr "Le enviaremos un correo electrónico con instrucciones" + diff --git a/formshare/locale/fr/LC_MESSAGES/formshare.po b/formshare/locale/fr/LC_MESSAGES/formshare.po index 50e3757eb..13c9ec943 100644 --- a/formshare/locale/fr/LC_MESSAGES/formshare.po +++ b/formshare/locale/fr/LC_MESSAGES/formshare.po @@ -51,7 +51,7 @@ msgstr "Le collaborateur fait déjà partie de ce projet" msgid "This form is blocked and cannot be changed at the moment." msgstr "Ce formulaire est bloqué et ne peut pas être changé pour le moment." -#: formshare/processes/db/form.py:1462 formshare/processes/db/project.py:1253 +#: formshare/processes/db/form.py:1462 formshare/processes/db/project.py:1255 msgid "The file {} already exist" msgstr "Le fichier {} existe déjà" @@ -78,27 +78,27 @@ msgstr "Impossible de supprimer le fichier produit" msgid "The output does not exist" msgstr "Le résultat n'existe pas" -#: formshare/processes/db/project.py:1117 +#: formshare/processes/db/project.py:1119 msgid "Error allocating access" msgstr "Erreur d'attribution d'accès" -#: formshare/processes/db/project.py:1130 +#: formshare/processes/db/project.py:1132 msgid "The project already exists" msgstr "Le projet existe déjà" -#: formshare/processes/db/project.py:1142 +#: formshare/processes/db/project.py:1144 msgid "A project with name '{}' already exists in your account" msgstr "Un projet avec le nom '{}' existe déjà dans votre compte" -#: formshare/processes/db/project.py:1195 +#: formshare/processes/db/project.py:1197 msgid "If you have forms with submissions, first you need to delete such forms" msgstr "Si vous avez des formulaires avec des soumissions, vous devez d’abord supprimer ces formulaires" -#: formshare/processes/db/user.py:140 +#: formshare/processes/db/user.py:141 msgid "Username is already taken" msgstr "Le nom d'utilisateur est déjà utilisé" -#: formshare/processes/db/user.py:149 +#: formshare/processes/db/user.py:150 msgid "Email is invalid" msgstr "Adresse e-mail non valide" @@ -114,124 +114,124 @@ msgstr "FormShare - Demande de collaboration" msgid "FormShare - Token security alert" msgstr "Alerte de sécurité du jeton" -#: formshare/processes/odk/api.py:458 +#: formshare/processes/odk/api.py:459 msgid "The primary key variable does not exist or is inside a repeat" msgstr "La variable clé primaire n’existe pas ou se trouve à l’intérieur d’une répétition" -#: formshare/processes/odk/api.py:472 formshare/processes/odk/api.py:521 -#: formshare/processes/odk/api.py:543 formshare/processes/odk/api.py:645 -#: formshare/processes/odk/api.py:697 formshare/views/form.py:469 +#: formshare/processes/odk/api.py:473 formshare/processes/odk/api.py:522 +#: formshare/processes/odk/api.py:544 formshare/processes/odk/api.py:646 +#: formshare/processes/odk/api.py:698 formshare/views/form.py:474 msgid "FormShare thoroughly checks your ODK for inconsistencies." msgstr "FormShare vérifie soigneusement votre ODK pour les incohérences." -#: formshare/processes/odk/api.py:476 +#: formshare/processes/odk/api.py:477 msgid "The following variables are duplicated within repeats or outside repeats in the ODK you just submitted:" msgstr "Les variables suivantes sont dupliquées à l'intérieur ou à l'extérieur des répétitions dans l'ODK que vous venez de soumettre :" -#: formshare/processes/odk/api.py:486 +#: formshare/processes/odk/api.py:487 msgid "Outside any repeat" msgstr "En dehors de toute répétition" -#: formshare/processes/odk/api.py:488 +#: formshare/processes/odk/api.py:489 msgid "In repeat: {}" msgstr "En répétition : {}" -#: formshare/processes/odk/api.py:497 +#: formshare/processes/odk/api.py:498 msgid "Variable: {}" msgstr "Variable : {}" -#: formshare/processes/odk/api.py:503 formshare/processes/odk/api.py:661 +#: formshare/processes/odk/api.py:504 formshare/processes/odk/api.py:662 msgid "Please note that FormShare only allows basic Latin letters, digits 0-9, dollar and underscore in repeat, group and variable names." msgstr "Veuillez noter que FormShare n’autorise que les lettres latines de base, les chiffres 0-9, le dollar et le soulignement dans les noms répétitifs, de groupe et les variables." -#: formshare/processes/odk/api.py:523 +#: formshare/processes/odk/api.py:524 msgid "The following variables have invalid names:" msgstr "Les variables suivantes ont des noms incorrects :" -#: formshare/processes/odk/api.py:529 +#: formshare/processes/odk/api.py:530 msgid "Please change those names and try again." msgstr "S’il vous plaît changer ces noms et essayer à nouveau." -#: formshare/processes/odk/api.py:545 +#: formshare/processes/odk/api.py:546 msgid "The following choices are identical:" msgstr "Les choix suivants sont identiques :" -#: formshare/processes/odk/api.py:558 +#: formshare/processes/odk/api.py:559 msgid " with the following duplicates: " msgstr " avec les doublons suivants : " -#: formshare/processes/odk/api.py:566 +#: formshare/processes/odk/api.py:567 msgid "Please remove the duplicated choices and try again." msgstr "S’il vous plaît supprimer les choix dupliqués et essayer à nouveau." -#: formshare/processes/odk/api.py:571 formshare/views/form.py:632 +#: formshare/processes/odk/api.py:572 formshare/views/form.py:637 msgid "This ODK form mixes coded and not coded languages. For example label::English (en) and label::Español. You need to code all the labels that are marked for translation." msgstr "Ce formulaire ODK mélange des langues codées et non codées. Par exemple label::English (en) et label::Español. Il est nécessaire d'encoder toutes les étiquettes qui sont marqués pour être traduits." -#: formshare/processes/odk/api.py:598 formshare/views/form.py:641 +#: formshare/processes/odk/api.py:599 formshare/views/form.py:646 msgid "FormShare needs you to shorten the name of some of your tables." msgstr "FormShare vous oblige à raccourcir le nom de certaines de vos tables." #. | msgid "The following tables have more than 64 selects: " #. | msgid "The following tables have more than 60 selects: " -#: formshare/processes/odk/api.py:603 formshare/views/form.py:648 +#: formshare/processes/odk/api.py:604 formshare/views/form.py:653 msgid "The following tables have a name longer than 64 characters:" msgstr "Les tables suivantes ont un nom de plus de 64 caractères :" -#: formshare/processes/odk/api.py:625 formshare/views/form.py:674 +#: formshare/processes/odk/api.py:626 formshare/views/form.py:679 msgid "Please shorten the name of the tables and/or the selects and try again." msgstr "Raccourcissez le nom des tables et/ou des listes de sélection et réessayez." -#: formshare/processes/odk/api.py:649 +#: formshare/processes/odk/api.py:650 msgid "The following repeats are duplicated in the ODK you just submitted:" msgstr "Les répétitions suivantes sont dupliquées dans l’ODK que vous venez de soumettre :" -#: formshare/processes/odk/api.py:657 +#: formshare/processes/odk/api.py:658 msgid "Repeat: {}" msgstr "Répéter: {}" -#: formshare/processes/odk/api.py:701 formshare/views/form.py:474 +#: formshare/processes/odk/api.py:702 formshare/views/form.py:479 msgid "The following options are duplicated in the ODK you just submitted:" msgstr "Les options suivantes sont dupliquées dans l’ODK que vous venez de soumettre :" -#: formshare/processes/odk/api.py:713 formshare/views/form.py:486 +#: formshare/processes/odk/api.py:714 formshare/views/form.py:491 msgid "Option {} in variable {}" msgstr "Option {} en variable {}" -#: formshare/processes/odk/api.py:731 +#: formshare/processes/odk/api.py:732 msgid "Malformed language in your ODK. You have label:X (Y) when it must be label::X (Y). With two colons (::)" msgstr "Mauvaise langue dans votre ODK. Vous avez label:X (Y) alors qu'il devrait êtrelabel::X (Y). Avec deux points (::)" -#: formshare/processes/odk/api.py:748 +#: formshare/processes/odk/api.py:749 msgid "You have choices but not labels. Did you missed the :: between label and language? Like label::English (en)" msgstr "Vous avez des options mais pas d'étiquettes. Avez-vous mis :: entre label etlangage? Comme label::English (en)" -#: formshare/processes/odk/api.py:765 +#: formshare/processes/odk/api.py:766 msgid "FormShare manages your data in a better way but by doing so it has more restrictions." msgstr "FormShare gère vos données d’une meilleure manière, mais ce faisant, il a plus de restrictions." #. | msgid "The following tables have more than 64 selects: " -#: formshare/processes/odk/api.py:771 +#: formshare/processes/odk/api.py:772 msgid "The following tables have more than 60 selects: " msgstr "Les tableaux suivants ont plus de 60 sélections : " -#: formshare/processes/odk/api.py:779 +#: formshare/processes/odk/api.py:780 msgid " with " msgstr " avec " -#: formshare/processes/odk/api.py:779 +#: formshare/processes/odk/api.py:780 msgid " selects" msgstr " sélectionne" -#: formshare/processes/odk/api.py:784 +#: formshare/processes/odk/api.py:785 msgid "Some information on this restriction and how to correct it:" msgstr "Quelques informations sur cette restriction et comment la corriger :" -#: formshare/processes/odk/api.py:789 +#: formshare/processes/odk/api.py:790 msgid "We tend to organize our ODK forms in sections with questions around a topic. For example: \"livestock inputs\" or \"crops sales\"." msgstr "Nous avons tendance à organiser nos formulaires ODK en sections avec des questions autour d’un sujet. Par exemple : « intrants pour le bétail » ou « ventes de cultures »." -#: formshare/processes/odk/api.py:797 +#: formshare/processes/odk/api.py:798 msgid "These sections have type = \"begin/end group\". We also organize questions that must be repeated in sections with type = \"begin/end repeat.\"" msgstr "Ces sections ont le type = «démarrer/terminer groupe». Nous organisons également des questions qui doivent être répétées dans les sections avec type = \"démarrer / terminer répétition.\"" @@ -245,38 +245,38 @@ msgstr "Ces sections ont le type = «démarrer/terminer groupe». Nous organison #. could" #. | " potentially have more than 64 selects. FormShare can only handle 64 " #. | "selects per table." -#: formshare/processes/odk/api.py:805 +#: formshare/processes/odk/api.py:806 msgid "FormShare stores repeats as separate tables (like different Excel sheets) however groups are not stored as repeats. FormShare stores all items (questions, notes, calculations, etc.) outside repeats into a table called \"maintable\". Thus \"maintable\" usually end up with several items and if your ODK form has many selects, then the \"maintable\" could potentially have more than 60 selects. FormShare can only handle 60 selects per table." msgstr "FormShare conserve les répétitions sous forme de tableaux séparés (comme différentes feuilles Excel) mais les groupes ne sont pas rangés sous forme de répétitions. FormShare stocke tous les éléments (questions, notes, calculs, etc.) à l’extérieur des répétitions dans un tableau appelé «maintable». Ainsi, «maintable» se retrouvent généralement avec plusieurs éléments, et si votre formulaire ODK a de nombreuses sélections, alors le «maintable» peut potentiellement avoir plus de 60 sélections. FormShare ne peut gérer que 60 sélections par tableau." -#: formshare/processes/odk/api.py:817 +#: formshare/processes/odk/api.py:818 msgid "You can bypass this restriction by creating groups of items inside repeats BUT WITH repeat_count = 1. A repeat with repeat_count = 1 will behave in the same way as a group, but FormShare will create a new table for it to store all its items. Eventually if you export the data to Excel your items will be organized in different sheets each representing a table." msgstr "Vous pouvez contourner cette restriction en créant des groupes d’éléments à l’intérieur des répétitions, MAIS AVEC repeat_count = 1. Une répétition avec repeat_count = 1 se comportera de la même manière qu’un groupe, mais FormShare créera un nouveau tableau pour stocker tous ses éléments. Finalement, si vous exportez les données vers Excel, vos éléments seront organisés dans différentes feuilles représentant chacune un tableau." -#: formshare/processes/odk/api.py:826 +#: formshare/processes/odk/api.py:827 msgid "Please edit your ODK XLSX/XLS file, group several items inside repeats with repeat_count = 1 and try to upload the form again." msgstr "Veuillez modifier votre fichier ODK XLSX/XLS, regrouper plusieurs éléments à l’intérieur des répétitions avec repeat_count = 1 et essayer de télécharger le formulaire à nouveau." -#: formshare/processes/odk/api.py:872 formshare/processes/odk/api.py:1310 +#: formshare/processes/odk/api.py:873 formshare/processes/odk/api.py:1311 msgid "No file was attached" msgstr "Aucun fichier n’a été joint" -#: formshare/processes/odk/api.py:894 formshare/processes/odk/api.py:1333 +#: formshare/processes/odk/api.py:895 formshare/processes/odk/api.py:1334 msgid "Invalid file type" msgstr "Type de fichier incorrect" -#: formshare/processes/odk/api.py:963 formshare/processes/odk/api.py:1404 +#: formshare/processes/odk/api.py:964 formshare/processes/odk/api.py:1405 msgid "The variable {} used to identify the cases is invalid. Only text, calculates or integers are allowed." msgstr "La variable {} utilisée pour identifier les observations n'est pas valide. Seuls le texte, les calculs ou les nombres entiers sont autorisés." -#: formshare/processes/odk/api.py:984 formshare/processes/odk/api.py:1425 +#: formshare/processes/odk/api.py:985 formshare/processes/odk/api.py:1426 msgid "The variable {} used to label cases was not found or is invalid. Only text, calculates or integers are allowed." msgstr "La variable {} utilisée pour étiqueter les observations n'est pas valide. Seuls le texte, les calculs ou les nombres entiers sont autorisés." #. | msgid "" "The variable {} used to search and select cases was not found or #. | is " "invalid. The variable must be select_one_from_file using a CSV #. file." -#: formshare/processes/odk/api.py:1012 +#: formshare/processes/odk/api.py:1013 msgid "The variable {} used to search and select cases was not found or is invalid. The variable must be select_one_from_file using a CSV file or a barcode" msgstr "La variable {} utilisée pour rechercher et sélectionner des observations n'a pas été trouvée ou n'est pas valide. La variable doit être select_one_from_file à l'aide d'un fichier CSV ou une variable de code-barres." @@ -286,42 +286,42 @@ msgstr "La variable {} utilisée pour rechercher et sélectionner des observatio #. | is " "invalid. The variable must be select_one_from_file using a CSV file #. or #. | a " "barcode." -#: formshare/processes/odk/api.py:1027 formshare/processes/odk/api.py:1469 +#: formshare/processes/odk/api.py:1028 formshare/processes/odk/api.py:1470 msgid "The variable {} used to record a date or date and time was not found or is invalid. The variable must be date or datetime." msgstr "La variable {} utilisée pour enregistrer la date n'a pas été trouvée ou n'est pas valide. La variable doit être \"date\" ou \"datetime\"." -#: formshare/processes/odk/api.py:1249 +#: formshare/processes/odk/api.py:1250 msgid "The form already exists in this project" msgstr "Le formulaire existe déjà dans ce projet" -#: formshare/processes/odk/api.py:1253 formshare/processes/odk/api.py:1741 +#: formshare/processes/odk/api.py:1254 formshare/processes/odk/api.py:1742 msgid "The form ID has especial characters. FormShare only allows letters, numbers and underscores(_)" msgstr "L’ID du formulaire a des caractères spéciaux. FormShare n’autorise que les lettres, les chiffres et les soulignements." -#: formshare/processes/odk/api.py:1260 +#: formshare/processes/odk/api.py:1261 msgid "Cannot find XForm ID. Please include this ODK form in an issue on " msgstr "Impossible de trouver XForm ID. Veuillez inclure ce formulaire ODK dans un problème sur " #. | msgid "" "The variable {} used to search and select cases was not found or #. | is " "invalid. The variable must be select_one_from_file using a CSV #. file." -#: formshare/processes/odk/api.py:1453 +#: formshare/processes/odk/api.py:1454 msgid "The variable {} used to search and select cases was not found or is invalid. The variable must be select_one_from_file using a CSV file or a barcode." msgstr "La variable {} utilisée pour rechercher et sélectionner des observations n'a pas été trouvée ou n'est pas valide. La variable doit être select_one_from_file à l'aide d'un fichier CSV ou une variable de code-barres." -#: formshare/processes/odk/api.py:1729 +#: formshare/processes/odk/api.py:1730 msgid "The form does not exist in this project" msgstr "Le formulaire n’existe pas dans ce projet" -#: formshare/processes/odk/api.py:1733 +#: formshare/processes/odk/api.py:1734 msgid "The \"form_id\" of the current form does not match the \"form_id\" of the one you uploaded. You cannot update a form with another form." msgstr "Le \"form_id\" du formulaire actuel ne correspond pas au \"form_id\" de celui que vous avez téléchargé. Vous ne pouvez pas mettre à jour un formulaire avec un autre formulaire." -#: formshare/processes/odk/api.py:1748 +#: formshare/processes/odk/api.py:1749 msgid "Cannot find XForm ID. Please post the form as an issue on " msgstr "Impossible de trouver XForm ID. S’il vous plaît poster le formulaire comme un problème sur " -#: formshare/processes/odk/api.py:2475 +#: formshare/processes/odk/api.py:2476 msgid "The language \"{}\" is missing in this version of the form and cannot be merged.\n" "\n" "Use the \"Fix language\" button to set the languages in this version of the ODK Form." @@ -329,13 +329,13 @@ msgstr "La langue \"{}\" n'est pas présente dans cette version du formulaire et "\n" "Utilisez le bouton \"Corriger la langue\" pour configurer les langues dans cette version dele formulaire ODK." -#: formshare/processes/odk/api.py:2481 +#: formshare/processes/odk/api.py:2482 msgid "The language called \"default\" appears when you have a \"label\" without indicating a language. For example if you had a column called \"label\" and another called \"label:English (es)\" then \"default\" refers to the language of \"label\" which was not indicated in the previous version of this ODK Form.\n" "\n" "In this new version you added the language to the \"label\" therefore \"default\" does not exists" msgstr "La langue appelée \"default\" apparaît lorsque vous avez un \"label\" sans indiquer la langue. Par exemple, si vous aviez une colonne appelée \"label\"et un autre appelé \"label::English (es)\", puis \"default\" fait référence aulangue du \"label\" dont la langue n'était pas indiquée dans la version précédente dece formulaire ODK. \\ n\\ nDans cette nouvelle version, ajout de la langue à \"label\", donc\"default\" n'existe pas" -#: formshare/processes/odk/api.py:2497 +#: formshare/processes/odk/api.py:2498 msgid "This version of the form is in multiple languages but the previous one was not and therefore and cannot be merged.\n" "\n" "Use the \"Fix language\" button to set the languages in this version of the ODK Form." @@ -343,7 +343,7 @@ msgstr "Cette version du formulaire est en plusieurs langues, mais la précéden "\n" "Utilisez le bouton \"Corriger la langue\" pour configurer les langues dans cette version duFormulaire ODK." -#: formshare/processes/odk/api.py:3431 +#: formshare/processes/odk/api.py:3613 msgid "Generating Diff HTML file error. Diff file for such commit does not exist" msgstr "Erreur de génération du fichier d'erreur Diff HTML. Le fichier diff n'existe pas" @@ -351,56 +351,56 @@ msgstr "Erreur de génération du fichier d'erreur Diff HTML. Le fichier diff n' msgid "Error storing setting for key {}. The key already exits." msgstr "Paramètre de stockage d’erreurs pour la clé {}. La clé existe déjà." -#: formshare/processes/submission/api.py:272 +#: formshare/processes/submission/api.py:271 msgid "There are no media files to download" msgstr "Il n’y a pas de fichiers multimédias à télécharger" -#: formshare/processes/submission/api.py:381 +#: formshare/processes/submission/api.py:411 msgid "This form was uploaded using an old version of ODK Tools. Please upload it again." msgstr "Ce formulaire a été téléchargé à l’aide d’une ancienne version d’ODK Tools. Merci de le télécharger à nouveau." -#: formshare/processes/submission/api.py:433 +#: formshare/processes/submission/api.py:462 msgid "Error while creating dummy file" msgstr "Erreur lors de la création de fichier factice" -#: formshare/processes/submission/api.py:435 +#: formshare/processes/submission/api.py:464 msgid "There are no submissions to download" msgstr "Il n’y a pas de soumissions à télécharger" -#: formshare/processes/submission/api.py:471 -#: formshare/processes/submission/api.py:504 -#: formshare/processes/submission/api.py:547 -#: formshare/processes/submission/api.py:580 -#: formshare/processes/submission/api.py:624 -#: formshare/processes/submission/api.py:656 formshare/products/products.py:135 -#: formshare/products/products.py:143 +#: formshare/processes/submission/api.py:500 +#: formshare/processes/submission/api.py:533 +#: formshare/processes/submission/api.py:576 +#: formshare/processes/submission/api.py:609 +#: formshare/processes/submission/api.py:653 +#: formshare/processes/submission/api.py:685 formshare/products/products.py:139 +#: formshare/products/products.py:147 msgid "Without description" msgstr "Sans description" -#: formshare/processes/submission/api.py:852 +#: formshare/processes/submission/api.py:881 #: formshare/templates/dashboard/projects/forms/dictionary/edit_fields.jinja2:255 #: formshare/templates/dashboard/projects/forms/dictionary/edit_fields.jinja2:275 msgid "Exclude it" msgstr "L'exclure" -#: formshare/processes/submission/api.py:854 +#: formshare/processes/submission/api.py:883 #: formshare/templates/dashboard/projects/forms/dictionary/edit_fields.jinja2:265 msgid "Recode it" msgstr "Le recoder" -#: formshare/processes/submission/api.py:856 +#: formshare/processes/submission/api.py:885 msgid "Unlink it" msgstr "Le déconnecter" -#: formshare/processes/submission/api.py:1112 +#: formshare/processes/submission/api.py:1141 msgid "AJAX Data error. Report this error as an issue on " msgstr "ERREUR de données AJAX. Signaler cette erreur comme un problème avec " -#: formshare/processes/submission/api.py:1156 +#: formshare/processes/submission/api.py:1185 msgid "Cannot update value. Check the valid values in lookup table " msgstr "Impossible de mettre à jour la valeur. Vérifier les valeurs valides dans le tableau de correspondance " -#: formshare/processes/submission/api.py:1169 +#: formshare/processes/submission/api.py:1198 msgid "Cannot update value. Check the valid values in lookup table" msgstr "Impossible de mettre à jour la valeur. Vérifier les valeurs valides dans le tableau de correspondance" @@ -429,7 +429,7 @@ msgid "Media" msgstr "Médias" #: formshare/products/products.py:124 -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:19 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:24 msgid "KML" msgstr "KML" @@ -456,7 +456,7 @@ msgstr "Zip CSV publiable" msgid "Unpublishable Zip CSV" msgstr "Zip CSV non publiable" -#: formshare/products/products.py:134 +#: formshare/products/products.py:138 msgid "Merge Form" msgstr "Formulaire de fusion" @@ -549,7 +549,7 @@ msgstr "Un nom de feuille de travail a été répété. Excel n’autorise que 3 msgid "Unknown error while creating the XLSX. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" msgstr "Erreur inconnue lors de la création du XLSX. Désolé pour ça. Veuillez signaler cette erreur comme un problème sur https://github.com/qlands/FormShare" -#: formshare/products/export/zip_csv/celery_task.py:129 +#: formshare/products/export/zip_csv/celery_task.py:141 msgid "Unknown error while creating the CSV Zip. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" msgstr "Erreur inconnue lors de la création de CSV Zip. Désolé. Veuillez signaler cette erreur comme un problème à https://github.com/qlands/FormShare" @@ -654,6 +654,7 @@ msgstr "Rapport d'importation XML" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_kml.jinja2:5 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_xlsx.jinja2:5 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_csv.jinja2:5 +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:5 #: formshare/templates/dashboard/projects/forms/import_data/snippets/brdcrbs_import.jinja2:5 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_compare_forms.jinja2:5 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_frmdtls.jinja2:5 @@ -786,7 +787,7 @@ msgstr "Confirmation" #: formshare/templates/dashboard/projects/forms/snippets/edit_assistant.jinja2:32 #: formshare/templates/dashboard/projects/forms/snippets/edit_group.jinja2:32 #: formshare/templates/dashboard/projects/forms/snippets/edit_link_partner.jinja2:31 -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:27 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:35 #: formshare/templates/dashboard/projects/forms/snippets/link_partner.jinja2:35 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:13 #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:97 @@ -1647,6 +1648,10 @@ msgstr "Cliquez" #: formshare/templates/dashboard/index.jinja2:162 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:43 +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:64 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:10 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:17 @@ -2131,6 +2136,7 @@ msgstr "Collaborateurs" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_kml.jinja2:8 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_xlsx.jinja2:8 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_csv.jinja2:8 +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:8 #: formshare/templates/dashboard/projects/forms/import_data/snippets/brdcrbs_import.jinja2:8 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_compare_forms.jinja2:8 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_frmdtls.jinja2:8 @@ -2830,36 +2836,42 @@ msgstr "Exporter au format CSV" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:29 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:19 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:19 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:19 msgid "Options" msgstr "Options" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:22 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:22 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:22 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:22 msgid "Type of export" msgstr "Type d'exportation" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:24 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:24 msgid "Publishable" msgstr "Publiable" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:24 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:24 msgid "Without sensitive data e.g., GPS" msgstr "Pas de données sensibles. Par exemple, GPS" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:25 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:25 msgid "Unpublishable" msgstr "Non publiable" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:25 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:25 msgid "With sensitive data e.g., GPS" msgstr "Avec des données sensibles. Par exemple, GPS" @@ -2867,6 +2879,7 @@ msgstr "Avec des données sensibles. Par exemple, GPS" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:46 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:29 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:29 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:29 msgid "Lookup options for selects and multi-selects" msgstr "Options de recherche pour la sélection unique et la sélection multiple" @@ -2874,6 +2887,7 @@ msgstr "Options de recherche pour la sélection unique et la sélection multiple #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:48 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:31 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:31 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:31 msgid "Include option codes only" msgstr "Inclure uniquement les codes d'option" @@ -2881,6 +2895,7 @@ msgstr "Inclure uniquement les codes d'option" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:49 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:32 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:32 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:32 msgid "Convert option codes into labels" msgstr "Convertir les codes d'option en étiquettes" @@ -2888,13 +2903,15 @@ msgstr "Convertir les codes d'option en étiquettes" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:50 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:33 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:33 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:33 msgid "Include option codes and labels" msgstr "Inclure les codes et les étiquettes" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:38 #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:55 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:38 -#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:38 +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:56 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:56 msgid "Generate" msgstr "Produire" @@ -3437,19 +3454,19 @@ msgstr "Type d'exportation" msgid "XLSX" msgstr "XLSX" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:17 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:18 msgid "Flat CSV (One file)" msgstr "CSV plat (un fichier)" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:18 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:22 msgid "Zip CSV (Multiple files)" msgstr "Zip CSV (plusieurs fichiers)" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:20 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:25 msgid "Media (zip)" msgstr "Multimédia (zip)" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:28 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:36 msgid "Export" msgstr "Exporter" @@ -5410,19 +5427,6 @@ msgstr "Connectez-vous en tant que partenaire" msgid "Partner Email" msgstr "Adresse e-mail du partenaire" -#: formshare/templates/generic/recover_password.jinja2:4 -#: formshare/templates/generic/recover_password.jinja2:11 -msgid "Recover my password" -msgstr "Récupérer mon mot de passe" - -#: formshare/templates/generic/recover_password.jinja2:28 -msgid "Recover" -msgstr "Récupérer" - -#: formshare/templates/generic/recover_password.jinja2:33 -msgid "We will send you an email with your password" -msgstr "Nous vous enverrons un e-mail avec votre mot de passe" - #: formshare/templates/generic/refresh.jinja2:3 msgid "Session timeout" msgstr "Délai d'attente de la session dépassé" @@ -5456,6 +5460,8 @@ msgstr "Créer un compte" msgid "Already have an account?" msgstr "Vous avez déjà un compte ?" +#: formshare/templates/generic/recover_password.jinja2:4 +#: formshare/templates/generic/recover_password.jinja2:11 #: formshare/templates/generic/reset_password.jinja2:4 #: formshare/templates/generic/reset_password.jinja2:11 msgid "Reset my password" @@ -5473,6 +5479,7 @@ msgstr "Jeton de réinitialisation du mot de passe" msgid "New password confirmation" msgstr "Confirmation du nouveau mot de passe" +#: formshare/templates/generic/recover_password.jinja2:28 #: formshare/templates/generic/reset_password.jinja2:31 msgid "Reset" msgstr "Réinitialiser" @@ -5662,7 +5669,7 @@ msgstr "Le groupe a été supprimé avec succès" msgid "Unable to delete the group: " msgstr "Impossible de supprimer le groupe : " -#: formshare/views/assistant_groups.py:271 formshare/views/form.py:1967 +#: formshare/views/assistant_groups.py:271 formshare/views/form.py:1972 msgid "The assistant was added successfully" msgstr "L’assistant a été ajouté avec succès" @@ -5821,34 +5828,34 @@ msgstr "Vous avez refusé la collaboration" msgid "Unable to decline the collaboration: " msgstr "Impossible de refuser la collaboration : " -#: formshare/views/form.py:292 formshare/views/repository_merge.py:135 +#: formshare/views/form.py:297 formshare/views/repository_merge.py:135 msgid "The repeat \"{}\" changed parent from \"{}\" to \"{}\". You must rename the repeat before merging" msgstr "La répétition \"{}\" a changé de parent de \"{}\" à \"{}\". Vous devez renommer la répétition avant de fusionner" -#: formshare/views/form.py:305 formshare/views/repository_merge.py:148 +#: formshare/views/form.py:310 formshare/views/repository_merge.py:148 msgid "The parent repeat \"{}\" of repeat \"{}\" does not exist anymore. You must rename the repeat \"{}\" before merging" msgstr "La répétition parent \"{}\"de la répétition \"{}\" n’existe plus. Vous devez renommer la répétition \"{}\" avant de fusionner" -#: formshare/views/form.py:317 +#: formshare/views/form.py:322 msgid "The variable \"{}\" in repeat \"{}\" changed type. You must rename the variable before merging." msgstr "La variable \"{}\" dans la répétition \"{}\" a changé de type. Vous devez renommer la variable avant de fusionner." -#: formshare/views/form.py:329 +#: formshare/views/form.py:334 msgid "The variable \"{}\" in repeat \"{}\" has a different choice list name. You must rename the variable before merging. " msgstr "La variable \"{}\" dans la répétition \"{}\" a un nom de liste de choix différent. Vous devez renommer la variable avant de fusionner. " -#: formshare/views/form.py:352 formshare/views/repository_merge.py:204 +#: formshare/views/form.py:357 formshare/views/repository_merge.py:204 msgid "Unknown error while merging. A message has been sent to the support team and they will contact you ASAP." msgstr "Erreur inconnue lors de la fusion. Un message a été envoyé à l’équipe d'assistance et ils vous contacteront dès que possible." -#: formshare/views/form.py:365 formshare/views/form.py:376 -#: formshare/views/form.py:387 formshare/views/form.py:398 -#: formshare/views/form.py:434 formshare/views/form.py:579 -#: formshare/views/form.py:590 formshare/views/form.py:601 +#: formshare/views/form.py:370 formshare/views/form.py:381 +#: formshare/views/form.py:392 formshare/views/form.py:403 +#: formshare/views/form.py:439 formshare/views/form.py:584 +#: formshare/views/form.py:595 formshare/views/form.py:606 msgid "An unexpected error occurred while processing the merge. An email has been sent to the technical team and they will contact you ASAP." msgstr "Une erreur inattendue s’est produite lors du traitement de la fusion. Un e-mail a été envoyé à l’équipe technique et ils vous contacteront dès que possible." -#: formshare/views/form.py:406 +#: formshare/views/form.py:411 msgid "This new version of the form has multiple languages when the previous one did not.\n" "\n" "Use the \"Fix language\" button to set the languages in this version of the ODK Form." @@ -5856,7 +5863,7 @@ msgstr "Cette nouvelle version du formulaire a plusieurs langues alors que la pr "\n" "Utilisez le bouton \"Corriger la langue\" pour définir les langues dans cette version du formulaire ODK." -#: formshare/views/form.py:415 +#: formshare/views/form.py:420 msgid "This version of the ODK Form differs in the languages used. The following languages are undefined:\n" "\n" "" @@ -5864,27 +5871,27 @@ msgstr "Cette version du formulaire ODK diffère dans les langues utilisées. Le "\n" "" -#: formshare/views/form.py:496 formshare/views/repository.py:372 +#: formshare/views/form.py:501 formshare/views/repository.py:372 msgid "The primary key was not found in the ODK form or is inside a repeat" msgstr "La clé primaire n'a pas été trouvée dans le formulaire ODK ou se trouve dans une \"répétition\"" -#: formshare/views/form.py:504 formshare/views/form.py:526 +#: formshare/views/form.py:509 formshare/views/form.py:531 msgid "The following files are missing and you need to attach them:" msgstr "Les fichiers suivants sont manquants et vous devez les joindre :" -#: formshare/views/form.py:511 +#: formshare/views/form.py:516 msgid "There was an error while processing some of the XML resource files:" msgstr "Il y a eu une erreur lors du traitement de certains fichiers de ressources XML :" -#: formshare/views/form.py:534 +#: formshare/views/form.py:539 msgid "The following CSV resource files have invalid characters:" msgstr "Les fichiers de ressources CSV suivants ont des caractères incorrects :" -#: formshare/views/form.py:541 +#: formshare/views/form.py:546 msgid "There was an error while processing some of the CSV resource files:" msgstr "Il y a eu une erreur lors du traitement de certains fichiers de ressources CSV :" -#: formshare/views/form.py:558 +#: formshare/views/form.py:563 msgid "An unexpected error occurred while processing the search expression. An email has been sent to the technical team and they will contact you ASAP." msgstr "Une erreur inattendue s'est produite lors du traitement de l'expression de recherche. Un e-mail a été envoyé à l'équipe technique qui vous répondra dans les plus brefs délais." @@ -5892,171 +5899,171 @@ msgstr "Une erreur inattendue s'est produite lors du traitement de l'expression msgid "The primary key is invalid." msgstr "La clé primaire est incorrecte." -#: formshare/views/form.py:609 +#: formshare/views/form.py:614 msgid "The following choices are duplicated in your ODK:" msgstr "Les choix suivants sont dupliqués dans votre ODK :" -#: formshare/views/form.py:620 +#: formshare/views/form.py:625 msgid "with the following duplicates:" msgstr "avec les doublons suivants :" -#: formshare/views/form.py:938 +#: formshare/views/form.py:943 msgid "You need to indicate a primary key" msgstr "Vous devez indiquer une clé primaire" -#: formshare/views/form.py:969 formshare/views/form.py:1185 +#: formshare/views/form.py:974 formshare/views/form.py:1190 msgid "You need to indicate a variable for labeling the cases" msgstr "Vous devez indiquer une variable pour étiqueter les cas" -#: formshare/views/form.py:983 formshare/views/form.py:1198 +#: formshare/views/form.py:988 formshare/views/form.py:1203 msgid "The labeling variable and the variable to identify each case cannot be the same" msgstr "La variable pour étiqueter les observations et la variable pour les identifier ne peuvent pas être les mêmes" -#: formshare/views/form.py:999 formshare/views/form.py:1212 +#: formshare/views/form.py:1004 formshare/views/form.py:1217 msgid "You need to indicate a type of case form" msgstr "Vous devez indiquer le type de formulaire de cas" -#: formshare/views/form.py:1013 formshare/views/form.py:1225 +#: formshare/views/form.py:1018 formshare/views/form.py:1230 msgid "You need to indicate a variable for searching and selecting cases" msgstr "Vous devez indiquer la variable pour rechercher et sélectionner les cas" -#: formshare/views/form.py:1030 formshare/views/form.py:1239 +#: formshare/views/form.py:1035 formshare/views/form.py:1244 msgid "The variable for searching and selecting cases cannot be the same as the primary key" msgstr "La variable pour rechercher et sélectionner des observations ne peut pas être la même que la clé primaire" -#: formshare/views/form.py:1048 formshare/views/form.py:1255 +#: formshare/views/form.py:1053 formshare/views/form.py:1260 msgid "You need to indicate a variable that records date or date and time" msgstr "Vous devez indiquer une variable qui stocke une date ou une date et une heure" -#: formshare/views/form.py:1067 formshare/views/form.py:1272 +#: formshare/views/form.py:1072 formshare/views/form.py:1277 msgid "The variable for recording a date or a date and time cannot be the same as the primary key or the case selector variable" msgstr "La variable pour enregistrer une date ou une date et une heure ne peut pas être la même que la clé primaire ou la variable de sélection de cas" -#: formshare/views/form.py:1098 +#: formshare/views/form.py:1103 msgid "The form was added successfully" msgstr "Le formulaire a été ajouté avec succès" -#: formshare/views/form.py:1116 formshare/views/form.py:1315 +#: formshare/views/form.py:1121 formshare/views/form.py:1320 msgid "Unable to upload the form: " msgstr "Impossible de télécharger le formulaire : " -#: formshare/views/form.py:1162 +#: formshare/views/form.py:1167 msgid "You need to specify a primary key" msgstr "Vous devez spécifier une clé primaire" -#: formshare/views/form.py:1305 +#: formshare/views/form.py:1310 msgid "The ODK form was successfully updated" msgstr "Le formulaire ODK a été mis à jour avec succès" -#: formshare/views/form.py:1366 +#: formshare/views/form.py:1371 msgid "The form was edited successfully" msgstr "Le formulaire a été modifié avec succès" -#: formshare/views/form.py:1492 +#: formshare/views/form.py:1497 msgid "The form was deleted successfully" msgstr "Le formulaire a été supprimé avec succès" -#: formshare/views/form.py:1551 +#: formshare/views/form.py:1556 msgid "The form was activated successfully" msgstr "Le formulaire a été activé avec succès" -#: formshare/views/form.py:1604 +#: formshare/views/form.py:1609 msgid "The form was deactivated successfully" msgstr "Le formulaire a été désactivé avec succès" -#: formshare/views/form.py:1718 formshare/views/projects.py:538 +#: formshare/views/form.py:1723 formshare/views/projects.py:538 msgid "No files were attached" msgstr "Aucun fichier n’a été joint" -#: formshare/views/form.py:1722 formshare/views/form.py:1729 +#: formshare/views/form.py:1727 formshare/views/form.py:1734 #: formshare/views/projects.py:542 formshare/views/projects.py:549 msgid "Error {} encountered. A log entry has been produced" msgstr "Erreur {} survenue. Une entrée de journal a été produite" -#: formshare/views/form.py:1735 formshare/views/projects.py:556 +#: formshare/views/form.py:1740 formshare/views/projects.py:556 msgid "The file was uploaded successfully" msgstr "Fichier téléchargé avec succès" -#: formshare/views/form.py:1739 formshare/views/projects.py:560 +#: formshare/views/form.py:1744 formshare/views/projects.py:560 msgid "The files were uploaded successfully" msgstr "Les fichiers ont été téléchargés avec succès" -#: formshare/views/form.py:1797 +#: formshare/views/form.py:1802 msgid "You cannot remove this file because it is required by the repository" msgstr "Vous ne pouvez pas supprimer ce fichier parce qu’il est requis par le référentiel" -#: formshare/views/form.py:1821 +#: formshare/views/form.py:1826 msgid "The files was removed successfully" msgstr "Les fichiers ont été supprimés avec succès" -#: formshare/views/form.py:2105 +#: formshare/views/form.py:2110 msgid "The information was changed successfully" msgstr "Les informations ont été modifiées avec succès" -#: formshare/views/form.py:2201 +#: formshare/views/form.py:2206 msgid "The assistant was removed successfully" msgstr "L’assistant a été retiré avec succès" -#: formshare/views/form.py:2286 +#: formshare/views/form.py:2291 msgid "The group was added successfully" msgstr "Le groupe a été ajouté avec succès" -#: formshare/views/form.py:2377 +#: formshare/views/form.py:2382 msgid "The role was changed successfully" msgstr "Le rôle a été modifié avec succès" -#: formshare/views/form.py:2435 +#: formshare/views/form.py:2440 msgid "The group was removed successfully" msgstr "Le groupe a été retiré avec succès" -#: formshare/views/form.py:3099 +#: formshare/views/form.py:3252 msgid "The process was stopped successfully" msgstr "Le processus a été arrêté avec succès" -#: formshare/views/form.py:3105 +#: formshare/views/form.py:3258 msgid "FormShare was not able to stop the process" msgstr "FormShare n’a pas été en mesure d’arrêter le processus" -#: formshare/views/form.py:3437 +#: formshare/views/form.py:3590 msgid "Such alias already exist" msgstr "L'alias existe déjà" -#: formshare/views/form.py:3441 +#: formshare/views/form.py:3594 msgid "Such field does not exist" msgstr "Le champ n'existe pas" -#: formshare/views/form.py:3445 +#: formshare/views/form.py:3598 msgid "The alias cannot be a number" msgstr "L'alias ne peut pas être un nombre" -#: formshare/views/form.py:3448 +#: formshare/views/form.py:3601 msgid "The alias is invalid" msgstr "L'alias n'est pas valide" -#: formshare/views/form.py:3451 +#: formshare/views/form.py:3604 msgid "The alias has invalid characters. Only underscore (_) is allowed" msgstr "L'alias contient des caractères incorrects. Seul le soulignement (_) est autorisé" -#: formshare/views/form.py:3539 formshare/views/form.py:3551 -#: formshare/views/form.py:3664 formshare/views/form.py:3674 +#: formshare/views/form.py:3692 formshare/views/form.py:3704 +#: formshare/views/form.py:3817 formshare/views/form.py:3827 #: formshare/views/projects.py:759 formshare/views/projects.py:768 #: formshare/views/projects.py:850 formshare/views/projects.py:857 msgid "Invalid dates" msgstr "Dates invalides" -#: formshare/views/form.py:3571 +#: formshare/views/form.py:3724 msgid "The partner was added successfully to this form" msgstr "Le partenaire a été ajouté avec succès à ce formulaire" -#: formshare/views/form.py:3853 formshare/views/repository.py:104 +#: formshare/views/form.py:4006 formshare/views/repository.py:104 msgid "You need to indicate the primary language" msgstr "Vous devez indiquer la langue principale" -#: formshare/views/form.py:3902 formshare/views/repository.py:155 +#: formshare/views/form.py:4055 formshare/views/repository.py:155 msgid "Each language needs to have an unique ISO 639-1 code" msgstr "Chaque langue doit avoir un code ISO 639-1 unique" -#: formshare/views/form.py:3909 formshare/views/repository.py:162 +#: formshare/views/form.py:4062 formshare/views/repository.py:162 msgid "You need to indicate a ISO 639-1 code for each language" msgstr "Vous devez indiquer un code ISO 639-1 pour chaque langue" @@ -6182,7 +6189,7 @@ msgstr "Le partenaire a été associé à ce projet avec succès" msgid "You need to indicate a partner" msgstr "Vous devez indiquer un partenaire" -#: formshare/views/form.py:3688 formshare/views/projects.py:873 +#: formshare/views/form.py:3841 formshare/views/projects.py:873 msgid "The partner was successfully updated" msgstr "Le partenaire a été mis à jour avec succès" @@ -6339,15 +6346,99 @@ msgstr "Vous devez fournir une explication lorsque vous ne tenez pas compte d’ msgid "You need to provide an explanation when canceling a disregard" msgstr "Vous devez fournir une explication lors de l’annulation d’une non-prise en compte" -#: formshare/views/form.py:3748 +#: formshare/views/form.py:3901 msgid "The partner was successfully removed from this form" msgstr "Le partenaire a été supprimé avec succès de ce formulaire." -#: formshare/processes/odk/api.py:579 +#: formshare/processes/odk/api.py:580 msgid "The variable to control duplicate submissions has an invalid type. E.g., the variable cannot be note, picture, video, sound, select_multiple, or geo-spacial. The most appropriate types are text, datetime, barcode, calculate, select_one, or integer" msgstr "La variable permettant de contrôler les soumissions en double est d'un type non valide. Par exemple, la variable ne peut pas être note, image, vidéo, son, select_multiple ou géospatiale. Les types les plus appropriés sont le texte, la date et l'heure, le code-barres, le calcul, le select_one ou le nombre entier." -#: formshare/views/form.py:566 +#: formshare/views/form.py:571 msgid "The variable to control duplicate submissions has an invalid type. E.g., the variable cannot be note, picture, video, sound, select_multiple, or geo-spacial. The most appropriate types are text, datetime, barcode, calculate, select_one, or integer." msgstr "La variable permettant de contrôler les soumissions en double est d'un type non valide. Par exemple, la variable ne peut pas être note, image, vidéo, son, select_multiple ou géospatiale. Les types les plus appropriés sont le texte, la date et l'heure, le code-barres, le calcul, le select_one ou le nombre entier." +#: formshare/products/products.py:134 +msgid "Publishable Zip JSON" +msgstr "Zip JSON publiable" + +#: formshare/products/products.py:136 +msgid "Unpublishable Zip JSON" +msgstr "Zip JSON non publiable" + +#: formshare/products/export/zip_json/celery_task.py:141 +msgid "Unknown error while creating the JSON Zip. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" +msgstr "Erreur inconnue lors de la création du Zip JSON. Désolé. Veuillez signaler cette erreur comme un problème à https://github.com/qlands/FormShare." + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:38 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:38 +msgid "Multiselects" +msgstr "Multiselections" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:40 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:40 +msgid "Export multiselect tables" +msgstr "Exportation de tableaux à sélection multiple" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 +msgid "When checked, FormShare will create a CSV file for each multiselect table. But will not resolve multiselect fields. Click" +msgstr "Lorsque cette option est cochée, FormShare créera un fichier CSV pour chaque table multi-sélection. Mais il ne résout pas les champs multisélection. Cliquez sur" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 +msgid "for more information about how FormShare stores \"select_multiple\" variables." +msgstr "pour plus d'informations sur la façon dont FormShare stocke les variables \"select_multiple\"." + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:47 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:47 +msgid "Lookups" +msgstr "Consultations" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:49 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:49 +msgid "Export lookup tables" +msgstr "Exportation des tables de consultation" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 +msgid "When checked, FormShare will create a CSV file for each lookup table, but it will not resolve option labels. Click" +msgstr "Si cette option est sélectionnée, FormShare créera un fichier CSV pour chaque table de consultation, mais ne résoudra pas les étiquettes des options. Cliquez sur" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 +msgid "for more information about how FormShare stores \"select_one\" variables." +msgstr "pour plus d'informations sur la façon dont FormShare stocke les variables \"select_one\"." + +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:2 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:4 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:19 +msgid "Export to Zip JSON" +msgstr "Exportation vers Zip JSON" + +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 +msgid "When checked, FormShare will create a JSON file for each multiselect table, but it will not resolve multiselect fields. Click" +msgstr "Si cette option est cochée, FormShare créera un fichier JSON pour chaque table multi-sélection, mais ne résoudra pas les champs multi-sélection. Cliquez sur" + +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 +msgid "When checked, FormShare will create a JSON file for each lookup table, but it will not resolve option labels. Click" +msgstr "Si cette option est cochée, FormShare créera un fichier JSON pour chaque table de consultation, mais ne résoudra pas les étiquettes des options. Cliquez sur" + +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:17 +msgid "Zip JSON Options" +msgstr "Options Zip JSON" + +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:20 +msgid "Flat CSV (One file) (Disabled)" +msgstr "CSV plat (fichier unique) (désactivé)" + +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:23 +msgid "Zip JSON (Multiple files)" +msgstr "Zip JSON (plusieurs fichiers)" + +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:29 +msgid "Note: Flat CSV is disabled with more than 10,000 submissions." +msgstr "Remarque : le CSV plat est désactivé lorsque le nombre de soumissions dépasse 10 000." + +#: formshare/templates/generic/recover_password.jinja2:33 +msgid "We will send you an email with instructions" +msgstr "Nous vous enverrons un courriel avec des instructions" + diff --git a/formshare/locale/pt/LC_MESSAGES/formshare.po b/formshare/locale/pt/LC_MESSAGES/formshare.po index cf23c7312..a1eeac72e 100644 --- a/formshare/locale/pt/LC_MESSAGES/formshare.po +++ b/formshare/locale/pt/LC_MESSAGES/formshare.po @@ -51,7 +51,7 @@ msgstr "Os colaboradores já fazem parte deste projeto" msgid "This form is blocked and cannot be changed at the moment." msgstr "Este formulário está bloqueado e não pode ser modificado nesse momento." -#: formshare/processes/db/form.py:1462 formshare/processes/db/project.py:1253 +#: formshare/processes/db/form.py:1462 formshare/processes/db/project.py:1255 msgid "The file {} already exist" msgstr "O arquivo {} já existe" @@ -78,27 +78,27 @@ msgstr "Não foi possível excluir arquivo do produto" msgid "The output does not exist" msgstr "Saída inexistente" -#: formshare/processes/db/project.py:1117 +#: formshare/processes/db/project.py:1119 msgid "Error allocating access" msgstr "Erro ao alocar acesso" -#: formshare/processes/db/project.py:1130 +#: formshare/processes/db/project.py:1132 msgid "The project already exists" msgstr "O projeto já existe" -#: formshare/processes/db/project.py:1142 +#: formshare/processes/db/project.py:1144 msgid "A project with name '{}' already exists in your account" msgstr "Um projeto com o nome '{}' já existe em sua conta" -#: formshare/processes/db/project.py:1195 +#: formshare/processes/db/project.py:1197 msgid "If you have forms with submissions, first you need to delete such forms" msgstr "Caso você tenha formulários com submissões, primeiro você precisa excluir tais formulários" -#: formshare/processes/db/user.py:140 +#: formshare/processes/db/user.py:141 msgid "Username is already taken" msgstr "Nome de usuário já utilizado" -#: formshare/processes/db/user.py:149 +#: formshare/processes/db/user.py:150 msgid "Email is invalid" msgstr "E-mail invalido" @@ -114,124 +114,124 @@ msgstr "FormShare - Solicitar colaboração" msgid "FormShare - Token security alert" msgstr "Alerta de segurança do Token" -#: formshare/processes/odk/api.py:458 +#: formshare/processes/odk/api.py:459 msgid "The primary key variable does not exist or is inside a repeat" msgstr "A chave primária não foi encontrada no formulário ODK ou está dentro de uma repetição" -#: formshare/processes/odk/api.py:472 formshare/processes/odk/api.py:521 -#: formshare/processes/odk/api.py:543 formshare/processes/odk/api.py:645 -#: formshare/processes/odk/api.py:697 formshare/views/form.py:469 +#: formshare/processes/odk/api.py:473 formshare/processes/odk/api.py:522 +#: formshare/processes/odk/api.py:544 formshare/processes/odk/api.py:646 +#: formshare/processes/odk/api.py:698 formshare/views/form.py:474 msgid "FormShare thoroughly checks your ODK for inconsistencies." msgstr "FormShare verifica minuciosamente há inconsistências no seu ODK." -#: formshare/processes/odk/api.py:476 +#: formshare/processes/odk/api.py:477 msgid "The following variables are duplicated within repeats or outside repeats in the ODK you just submitted:" msgstr "As seguintes variáveis estão duplicadas dentro de repetições ou fora de repetições no ODK que você submeteu:" -#: formshare/processes/odk/api.py:486 +#: formshare/processes/odk/api.py:487 msgid "Outside any repeat" msgstr "Fora de qualquer repetição" -#: formshare/processes/odk/api.py:488 +#: formshare/processes/odk/api.py:489 msgid "In repeat: {}" msgstr "Em repetição: {}" -#: formshare/processes/odk/api.py:497 +#: formshare/processes/odk/api.py:498 msgid "Variable: {}" msgstr "Variável: {}" -#: formshare/processes/odk/api.py:503 formshare/processes/odk/api.py:661 +#: formshare/processes/odk/api.py:504 formshare/processes/odk/api.py:662 msgid "Please note that FormShare only allows basic Latin letters, digits 0-9, dollar and underscore in repeat, group and variable names." msgstr "Favor notar que o FormShare permite apenas letras do alfabeto latino, dígitos entre 0-9, cifrões e underline nos nomes de repetição, grupo e variável." -#: formshare/processes/odk/api.py:523 +#: formshare/processes/odk/api.py:524 msgid "The following variables have invalid names:" msgstr "As seguintes variáveis possuem nomes inválidos:" -#: formshare/processes/odk/api.py:529 +#: formshare/processes/odk/api.py:530 msgid "Please change those names and try again." msgstr "Por favor, altere estes nomes e tente novamente." -#: formshare/processes/odk/api.py:545 +#: formshare/processes/odk/api.py:546 msgid "The following choices are identical:" msgstr "As escolhas seguintes são idênticas:" -#: formshare/processes/odk/api.py:558 +#: formshare/processes/odk/api.py:559 msgid " with the following duplicates: " msgstr " com as seguintes duplicações: " -#: formshare/processes/odk/api.py:566 +#: formshare/processes/odk/api.py:567 msgid "Please remove the duplicated choices and try again." msgstr "Favor remover as escolhas duplicadas e tentar novamente." -#: formshare/processes/odk/api.py:571 formshare/views/form.py:632 +#: formshare/processes/odk/api.py:572 formshare/views/form.py:637 msgid "This ODK form mixes coded and not coded languages. For example label::English (en) and label::Español. You need to code all the labels that are marked for translation." msgstr "Esta forma ODK mistura idiomas codificados e não codificados. Por exemplo::English (en) and label::Español. É necessário codificar todas as etiquetas que são marcadas para serem traduzidas." -#: formshare/processes/odk/api.py:598 formshare/views/form.py:641 +#: formshare/processes/odk/api.py:599 formshare/views/form.py:646 msgid "FormShare needs you to shorten the name of some of your tables." msgstr "O FormShare requer que você encurte o nome de algumas de suas tabelas." #. | msgid "The following tables have more than 64 selects: " #. | msgid "The following tables have more than 60 selects: " -#: formshare/processes/odk/api.py:603 formshare/views/form.py:648 +#: formshare/processes/odk/api.py:604 formshare/views/form.py:653 msgid "The following tables have a name longer than 64 characters:" msgstr "As tabelas a seguir têm um nome com mais de 64 caracteres:" -#: formshare/processes/odk/api.py:625 formshare/views/form.py:674 +#: formshare/processes/odk/api.py:626 formshare/views/form.py:679 msgid "Please shorten the name of the tables and/or the selects and try again." msgstr "Reduza o nome das tabelas e / ou listas de opções e tente novamente." -#: formshare/processes/odk/api.py:649 +#: formshare/processes/odk/api.py:650 msgid "The following repeats are duplicated in the ODK you just submitted:" msgstr "As seguintes repetições estão duplicadas no ODK que você submeteu:" -#: formshare/processes/odk/api.py:657 +#: formshare/processes/odk/api.py:658 msgid "Repeat: {}" msgstr "Repetição: {}" -#: formshare/processes/odk/api.py:701 formshare/views/form.py:474 +#: formshare/processes/odk/api.py:702 formshare/views/form.py:479 msgid "The following options are duplicated in the ODK you just submitted:" msgstr "As seguintes opções estão duplicadas no ODK que você submeteu:" -#: formshare/processes/odk/api.py:713 formshare/views/form.py:486 +#: formshare/processes/odk/api.py:714 formshare/views/form.py:491 msgid "Option {} in variable {}" msgstr "Opção {} na variável {}" -#: formshare/processes/odk/api.py:731 +#: formshare/processes/odk/api.py:732 msgid "Malformed language in your ODK. You have label:X (Y) when it must be label::X (Y). With two colons (::)" msgstr "Linguagem imprópria em seu ODK. Você tem label:X (Y) quando deveria serlabel::X (Y). Com dois pontos (::)" -#: formshare/processes/odk/api.py:748 +#: formshare/processes/odk/api.py:749 msgid "You have choices but not labels. Did you missed the :: between label and language? Like label::English (en)" msgstr "Você tem opções, mas sem rótulos. Você colocou :: entre a tag eidioma? Como label::English (en)" -#: formshare/processes/odk/api.py:765 +#: formshare/processes/odk/api.py:766 msgid "FormShare manages your data in a better way but by doing so it has more restrictions." msgstr "O FormShare gerencia seus dados da melhor forma, porém para isso, há mais restrições." #. | msgid "The following tables have more than 64 selects: " -#: formshare/processes/odk/api.py:771 +#: formshare/processes/odk/api.py:772 msgid "The following tables have more than 60 selects: " msgstr "As seguintes tabelas têm mais de 60 seleções: " -#: formshare/processes/odk/api.py:779 +#: formshare/processes/odk/api.py:780 msgid " with " msgstr " com " -#: formshare/processes/odk/api.py:779 +#: formshare/processes/odk/api.py:780 msgid " selects" msgstr " seleções" -#: formshare/processes/odk/api.py:784 +#: formshare/processes/odk/api.py:785 msgid "Some information on this restriction and how to correct it:" msgstr "Mais informações sobre essa restrição e como corrigi-la:" -#: formshare/processes/odk/api.py:789 +#: formshare/processes/odk/api.py:790 msgid "We tend to organize our ODK forms in sections with questions around a topic. For example: \"livestock inputs\" or \"crops sales\"." msgstr "Normalmente organizamos nossos formulários ODK em seções com perguntas sobre um assunto. Por exemplo: \"entradas de pecuária\" ou \"vendas de safra\"." -#: formshare/processes/odk/api.py:797 +#: formshare/processes/odk/api.py:798 msgid "These sections have type = \"begin/end group\". We also organize questions that must be repeated in sections with type = \"begin/end repeat.\"" msgstr "Essas seções tem tipo = \"grupo de começo/término\". Nós também organizamos questões que podem ser repetidas em sessões com tipo = \"begin/end repeat.\"" @@ -245,38 +245,38 @@ msgstr "Essas seções tem tipo = \"grupo de começo/término\". Nós também or #. could" #. | " potentially have more than 64 selects. FormShare can only handle 64 " #. | "selects per table." -#: formshare/processes/odk/api.py:805 +#: formshare/processes/odk/api.py:806 msgid "FormShare stores repeats as separate tables (like different Excel sheets) however groups are not stored as repeats. FormShare stores all items (questions, notes, calculations, etc.) outside repeats into a table called \"maintable\". Thus \"maintable\" usually end up with several items and if your ODK form has many selects, then the \"maintable\" could potentially have more than 60 selects. FormShare can only handle 60 selects per table." msgstr "O FormShare armazena repetições como tabelas separadas (como planilhas diferentes do Excel), mas não os grupos. O FormShare armazena todos os itens (questões, notas, cálculos, etc.) que não são repetições em uma tabela chamada \"maintable\". Por isso, \"maintable\" geralmente acaba contendo diversos itens e se seu formulário do ODK tiver muitas selects, então \"maintable\" pode potencialmente ter mais de 60 selects. O FormShare pode lidar apenas com 60 selects por tabela." -#: formshare/processes/odk/api.py:817 +#: formshare/processes/odk/api.py:818 msgid "You can bypass this restriction by creating groups of items inside repeats BUT WITH repeat_count = 1. A repeat with repeat_count = 1 will behave in the same way as a group, but FormShare will create a new table for it to store all its items. Eventually if you export the data to Excel your items will be organized in different sheets each representing a table." msgstr "Você pode ignorar esta restrição criando grupos de itens dentro das repetições PORÉM COM repeat_count = 1. A repetição com repeat_count = 1 se comportará da mesma forma como grupo, porém o FormShare criará uma nova tabela para ela armazenar todos os itens. Eventualmente, se você exportar os dados para o Excel, seus itens serão organizados em planilhas diferentes, cada uma representando uma tabela." -#: formshare/processes/odk/api.py:826 +#: formshare/processes/odk/api.py:827 msgid "Please edit your ODK XLSX/XLS file, group several items inside repeats with repeat_count = 1 and try to upload the form again." msgstr "Favor editar seu arquivo XLSX/XLS do ODK, agrupar diversos itens dentro das repetições com repeat_count = 1 e tente carregar o formulário novamente." -#: formshare/processes/odk/api.py:872 formshare/processes/odk/api.py:1310 +#: formshare/processes/odk/api.py:873 formshare/processes/odk/api.py:1311 msgid "No file was attached" msgstr "Nenhum arquivo foi anexado" -#: formshare/processes/odk/api.py:894 formshare/processes/odk/api.py:1333 +#: formshare/processes/odk/api.py:895 formshare/processes/odk/api.py:1334 msgid "Invalid file type" msgstr "Tipo inválido de arquivo" -#: formshare/processes/odk/api.py:963 formshare/processes/odk/api.py:1404 +#: formshare/processes/odk/api.py:964 formshare/processes/odk/api.py:1405 msgid "The variable {} used to identify the cases is invalid. Only text, calculates or integers are allowed." msgstr "A variável {} usada para identificar os casos não é válida. Somente texto, cálculo ou números inteiros são permitidos." -#: formshare/processes/odk/api.py:984 formshare/processes/odk/api.py:1425 +#: formshare/processes/odk/api.py:985 formshare/processes/odk/api.py:1426 msgid "The variable {} used to label cases was not found or is invalid. Only text, calculates or integers are allowed." msgstr "A variável {} usada para rotular os casos não foi encontrada ou não é válida. Somente texto, cálculo ou inteiros são permitidos." #. | msgid "" "The variable {} used to search and select cases was not found or #. | is " "invalid. The variable must be select_one_from_file using a CSV #. file." -#: formshare/processes/odk/api.py:1012 +#: formshare/processes/odk/api.py:1013 msgid "The variable {} used to search and select cases was not found or is invalid. The variable must be select_one_from_file using a CSV file or a barcode" msgstr "A variável {} usada para localizar e selecionar casos não foi encontrada ou é inválida. A variável deve ser select_one_from_file usando um arquivo CSV ou uma variável de código de barras." @@ -286,42 +286,42 @@ msgstr "A variável {} usada para localizar e selecionar casos não foi encontra #. | is " "invalid. The variable must be select_one_from_file using a CSV file #. or #. | a " "barcode." -#: formshare/processes/odk/api.py:1027 formshare/processes/odk/api.py:1469 +#: formshare/processes/odk/api.py:1028 formshare/processes/odk/api.py:1470 msgid "The variable {} used to record a date or date and time was not found or is invalid. The variable must be date or datetime." msgstr "A variável {} usada para registrar a data não foi encontrada ou é inválida. A variável deve ser \"data\" ou \"data e hora\"." -#: formshare/processes/odk/api.py:1249 +#: formshare/processes/odk/api.py:1250 msgid "The form already exists in this project" msgstr "Formulário já existente neste projeto" -#: formshare/processes/odk/api.py:1253 formshare/processes/odk/api.py:1741 +#: formshare/processes/odk/api.py:1254 formshare/processes/odk/api.py:1742 msgid "The form ID has especial characters. FormShare only allows letters, numbers and underscores(_)" msgstr "O ID do formulário possui caracteres especiais. O FormShare permite apenas letras, números e underline (_)" -#: formshare/processes/odk/api.py:1260 +#: formshare/processes/odk/api.py:1261 msgid "Cannot find XForm ID. Please include this ODK form in an issue on " msgstr "Não foi possível localizar ID do XForm. Inclua este formulário ODK como problema em " #. | msgid "" "The variable {} used to search and select cases was not found or #. | is " "invalid. The variable must be select_one_from_file using a CSV #. file." -#: formshare/processes/odk/api.py:1453 +#: formshare/processes/odk/api.py:1454 msgid "The variable {} used to search and select cases was not found or is invalid. The variable must be select_one_from_file using a CSV file or a barcode." msgstr "A variável {} usada para localizar e selecionar casos não foi encontrada ou é inválida. A variável deve ser select_one_from_file usando um arquivo CSV ou uma variável de código de barras." -#: formshare/processes/odk/api.py:1729 +#: formshare/processes/odk/api.py:1730 msgid "The form does not exist in this project" msgstr "Formulário inexistente neste projeto" -#: formshare/processes/odk/api.py:1733 +#: formshare/processes/odk/api.py:1734 msgid "The \"form_id\" of the current form does not match the \"form_id\" of the one you uploaded. You cannot update a form with another form." msgstr "O \"form_id\" do formulário atual não corresponde ao \"form_id\" do formulário que você carregou. Você não pode atualizar um formulário com outro formulário." -#: formshare/processes/odk/api.py:1748 +#: formshare/processes/odk/api.py:1749 msgid "Cannot find XForm ID. Please post the form as an issue on " msgstr "Não é possível localizar o ID XForm. Favor publicar o formulário como problema em " -#: formshare/processes/odk/api.py:2475 +#: formshare/processes/odk/api.py:2476 msgid "The language \"{}\" is missing in this version of the form and cannot be merged.\n" "\n" "Use the \"Fix language\" button to set the languages in this version of the ODK Form." @@ -329,7 +329,7 @@ msgstr "O idioma \"{}\" não está presente nesta versão do formulário e não "\n" "Use o botão \"Idioma correto\" para configurar os idiomas nesta versão doo formulário ODK." -#: formshare/processes/odk/api.py:2481 +#: formshare/processes/odk/api.py:2482 msgid "The language called \"default\" appears when you have a \"label\" without indicating a language. For example if you had a column called \"label\" and another called \"label:English (es)\" then \"default\" refers to the language of \"label\" which was not indicated in the previous version of this ODK Form.\n" "\n" "In this new version you added the language to the \"label\" therefore \"default\" does not exists" @@ -337,7 +337,7 @@ msgstr "O idioma chamado \"default\" aparece quando você tem um \"rótulo\" sem "\n" "Nesta nova versão, adicionou-se o idioma ao \"label\", portanto\"default\" não existe" -#: formshare/processes/odk/api.py:2497 +#: formshare/processes/odk/api.py:2498 msgid "This version of the form is in multiple languages but the previous one was not and therefore and cannot be merged.\n" "\n" "Use the \"Fix language\" button to set the languages in this version of the ODK Form." @@ -345,7 +345,7 @@ msgstr "Esta versão do formulário está em vários idiomas, mas o anteriornão "\n" "Use o botão \"Idioma correto\" para configurar os idiomas nesta versão doFormulário ODK." -#: formshare/processes/odk/api.py:3431 +#: formshare/processes/odk/api.py:3613 msgid "Generating Diff HTML file error. Diff file for such commit does not exist" msgstr "Erro gerador de erro Difere o ficheiro de erro HTML. O ficheiro dif não existe" @@ -353,56 +353,56 @@ msgstr "Erro gerador de erro Difere o ficheiro de erro HTML. O ficheiro dif não msgid "Error storing setting for key {}. The key already exits." msgstr "Erro ao armazenar configuração para chave {}. Chave já existente" -#: formshare/processes/submission/api.py:272 +#: formshare/processes/submission/api.py:271 msgid "There are no media files to download" msgstr "Não há arquivos de mídia para download" -#: formshare/processes/submission/api.py:381 +#: formshare/processes/submission/api.py:411 msgid "This form was uploaded using an old version of ODK Tools. Please upload it again." msgstr "Esse formulário foi carregado utilizando uma versão antiga de ferramentas ODK. Favor carregar novamente." -#: formshare/processes/submission/api.py:433 +#: formshare/processes/submission/api.py:462 msgid "Error while creating dummy file" msgstr "Erro ao criar arquivo protótipo" -#: formshare/processes/submission/api.py:435 +#: formshare/processes/submission/api.py:464 msgid "There are no submissions to download" msgstr "Não há submissões para baixar" -#: formshare/processes/submission/api.py:471 -#: formshare/processes/submission/api.py:504 -#: formshare/processes/submission/api.py:547 -#: formshare/processes/submission/api.py:580 -#: formshare/processes/submission/api.py:624 -#: formshare/processes/submission/api.py:656 formshare/products/products.py:135 -#: formshare/products/products.py:143 +#: formshare/processes/submission/api.py:500 +#: formshare/processes/submission/api.py:533 +#: formshare/processes/submission/api.py:576 +#: formshare/processes/submission/api.py:609 +#: formshare/processes/submission/api.py:653 +#: formshare/processes/submission/api.py:685 formshare/products/products.py:139 +#: formshare/products/products.py:147 msgid "Without description" msgstr "Sem descrição" -#: formshare/processes/submission/api.py:852 +#: formshare/processes/submission/api.py:881 #: formshare/templates/dashboard/projects/forms/dictionary/edit_fields.jinja2:255 #: formshare/templates/dashboard/projects/forms/dictionary/edit_fields.jinja2:275 msgid "Exclude it" msgstr "Excluir" -#: formshare/processes/submission/api.py:854 +#: formshare/processes/submission/api.py:883 #: formshare/templates/dashboard/projects/forms/dictionary/edit_fields.jinja2:265 msgid "Recode it" msgstr "Recodificar" -#: formshare/processes/submission/api.py:856 +#: formshare/processes/submission/api.py:885 msgid "Unlink it" msgstr "Remover link" -#: formshare/processes/submission/api.py:1112 +#: formshare/processes/submission/api.py:1141 msgid "AJAX Data error. Report this error as an issue on " msgstr "Erro de dados AJAX. Reportar este erro como problema em " -#: formshare/processes/submission/api.py:1156 +#: formshare/processes/submission/api.py:1185 msgid "Cannot update value. Check the valid values in lookup table " msgstr "Não foi possível atualizar valor. Verifique os valores válidos na tabela de consulta" -#: formshare/processes/submission/api.py:1169 +#: formshare/processes/submission/api.py:1198 msgid "Cannot update value. Check the valid values in lookup table" msgstr "Não é possível atualizar valor. Verifique os valores válidos na tabela de consulta" @@ -431,7 +431,7 @@ msgid "Media" msgstr "Mídia" #: formshare/products/products.py:124 -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:19 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:24 msgid "KML" msgstr "KML" @@ -458,7 +458,7 @@ msgstr "Zip CSV publicável" msgid "Unpublishable Zip CSV" msgstr "Zip CSV não-publicável" -#: formshare/products/products.py:134 +#: formshare/products/products.py:138 msgid "Merge Form" msgstr "Fundir com" @@ -551,7 +551,7 @@ msgstr "Um nome de planilha está repetido. O excel permite apenas 30 caracteres msgid "Unknown error while creating the XLSX. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" msgstr "Erro ao criar XLSX. Desculpe-nos. Por favor, reporte este erro como problema em https://github.com/qlands/FormShare" -#: formshare/products/export/zip_csv/celery_task.py:129 +#: formshare/products/export/zip_csv/celery_task.py:141 msgid "Unknown error while creating the CSV Zip. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" msgstr "Erro desconhecido ao criar o CSV Zip. Desculpe. Favor informar este erro como um problema em https://github.com/qlands/FormShare" @@ -656,6 +656,7 @@ msgstr "Relatório de importação XML" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_kml.jinja2:5 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_xlsx.jinja2:5 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_csv.jinja2:5 +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:5 #: formshare/templates/dashboard/projects/forms/import_data/snippets/brdcrbs_import.jinja2:5 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_compare_forms.jinja2:5 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_frmdtls.jinja2:5 @@ -788,7 +789,7 @@ msgstr "Confirmação" #: formshare/templates/dashboard/projects/forms/snippets/edit_assistant.jinja2:32 #: formshare/templates/dashboard/projects/forms/snippets/edit_group.jinja2:32 #: formshare/templates/dashboard/projects/forms/snippets/edit_link_partner.jinja2:31 -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:27 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:35 #: formshare/templates/dashboard/projects/forms/snippets/link_partner.jinja2:35 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:13 #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:97 @@ -1649,6 +1650,10 @@ msgstr "Clique" #: formshare/templates/dashboard/index.jinja2:162 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:43 +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:64 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:10 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:17 @@ -2133,6 +2138,7 @@ msgstr "Colaboradores" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_kml.jinja2:8 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_xlsx.jinja2:8 #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_csv.jinja2:8 +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:8 #: formshare/templates/dashboard/projects/forms/import_data/snippets/brdcrbs_import.jinja2:8 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_compare_forms.jinja2:8 #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_frmdtls.jinja2:8 @@ -2832,36 +2838,42 @@ msgstr "Exportar para CSV" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:29 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:19 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:19 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:19 msgid "Options" msgstr "Opções" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:22 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:22 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:22 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:22 msgid "Type of export" msgstr "Tipo de exportação" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:24 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:24 msgid "Publishable" msgstr "Publicável" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:24 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:24 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:24 msgid "Without sensitive data e.g., GPS" msgstr "Sem dados confidenciais. Por exemplo GPS" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:25 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:25 msgid "Unpublishable" msgstr "Não publicável" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:25 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:25 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:25 msgid "With sensitive data e.g., GPS" msgstr "Com dados confidenciais. Por exemplo GPS" @@ -2869,6 +2881,7 @@ msgstr "Com dados confidenciais. Por exemplo GPS" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:46 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:29 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:29 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:29 msgid "Lookup options for selects and multi-selects" msgstr "Opções de pesquisa para seleção única e seleção múltipla" @@ -2876,6 +2889,7 @@ msgstr "Opções de pesquisa para seleção única e seleção múltipla" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:48 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:31 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:31 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:31 msgid "Include option codes only" msgstr "Incluir apenas códigos de opção" @@ -2883,6 +2897,7 @@ msgstr "Incluir apenas códigos de opção" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:49 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:32 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:32 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:32 msgid "Convert option codes into labels" msgstr "Converter códigos de opção em rótulos" @@ -2890,13 +2905,15 @@ msgstr "Converter códigos de opção em rótulos" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:50 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:33 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:33 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:33 msgid "Include option codes and labels" msgstr "Incluir códigos e rótulos" #: formshare/templates/dashboard/projects/forms/export/csv.jinja2:38 #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:55 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:38 -#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:38 +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:56 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:56 msgid "Generate" msgstr "Gerar" @@ -3439,19 +3456,19 @@ msgstr "Tipo de exportação" msgid "XLSX" msgstr "XLSX" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:17 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:18 msgid "Flat CSV (One file)" msgstr "CSV plano (um arquivo)" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:18 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:22 msgid "Zip CSV (Multiple files)" msgstr "Zip CSV (arquivos múltiplos)" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:20 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:25 msgid "Media (zip)" msgstr "Multimídia (zip)" -#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:28 +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:36 msgid "Export" msgstr "Exportar" @@ -5412,19 +5429,6 @@ msgstr "Faça login como sócio" msgid "Partner Email" msgstr "Email do sócio" -#: formshare/templates/generic/recover_password.jinja2:4 -#: formshare/templates/generic/recover_password.jinja2:11 -msgid "Recover my password" -msgstr "Recuperar minha senha" - -#: formshare/templates/generic/recover_password.jinja2:28 -msgid "Recover" -msgstr "Recuperar" - -#: formshare/templates/generic/recover_password.jinja2:33 -msgid "We will send you an email with your password" -msgstr "Nós te enviaremos um e-mail com sua senha" - #: formshare/templates/generic/refresh.jinja2:3 msgid "Session timeout" msgstr "Tempo de sessão esgotado" @@ -5458,6 +5462,8 @@ msgstr "Criar uma conta" msgid "Already have an account?" msgstr "Já possui uma conta?" +#: formshare/templates/generic/recover_password.jinja2:4 +#: formshare/templates/generic/recover_password.jinja2:11 #: formshare/templates/generic/reset_password.jinja2:4 #: formshare/templates/generic/reset_password.jinja2:11 msgid "Reset my password" @@ -5475,6 +5481,7 @@ msgstr "Ficha de reinicialização de senha" msgid "New password confirmation" msgstr "Confirmação de nova senha" +#: formshare/templates/generic/recover_password.jinja2:28 #: formshare/templates/generic/reset_password.jinja2:31 msgid "Reset" msgstr "Reinicialização" @@ -5664,7 +5671,7 @@ msgstr "O grupo foi excluído com sucesso" msgid "Unable to delete the group: " msgstr "Não foi possível excluir o grupo: " -#: formshare/views/assistant_groups.py:271 formshare/views/form.py:1967 +#: formshare/views/assistant_groups.py:271 formshare/views/form.py:1972 msgid "The assistant was added successfully" msgstr "O assistente foi adicionado com sucesso" @@ -5823,34 +5830,34 @@ msgstr "Você recusou a colaboração" msgid "Unable to decline the collaboration: " msgstr "Nao foi possível recusar a colaboração: " -#: formshare/views/form.py:292 formshare/views/repository_merge.py:135 +#: formshare/views/form.py:297 formshare/views/repository_merge.py:135 msgid "The repeat \"{}\" changed parent from \"{}\" to \"{}\". You must rename the repeat before merging" msgstr "A repetição \"{}\" alterou parente de \"{}\" para \"{}\". Você deve renomear a repetição antes de fundir" -#: formshare/views/form.py:305 formshare/views/repository_merge.py:148 +#: formshare/views/form.py:310 formshare/views/repository_merge.py:148 msgid "The parent repeat \"{}\" of repeat \"{}\" does not exist anymore. You must rename the repeat \"{}\" before merging" msgstr "A repetição de parente \"{}\" da repetição \"{}\" não existe mais. Você deve renomear a repetição \"{}\" antes de fundir" -#: formshare/views/form.py:317 +#: formshare/views/form.py:322 msgid "The variable \"{}\" in repeat \"{}\" changed type. You must rename the variable before merging." msgstr "A variável \"{}\" na repetição \"{}\" mudou de tipo. Você deve renomear a variável antes de fundir." -#: formshare/views/form.py:329 +#: formshare/views/form.py:334 msgid "The variable \"{}\" in repeat \"{}\" has a different choice list name. You must rename the variable before merging. " msgstr "A variável \"{}\"na repetição \"{}\" tem um nome de lista de escolha diferente. VocÊ deve renomear a variável antes de fundir. " -#: formshare/views/form.py:352 formshare/views/repository_merge.py:204 +#: formshare/views/form.py:357 formshare/views/repository_merge.py:204 msgid "Unknown error while merging. A message has been sent to the support team and they will contact you ASAP." msgstr "Erro desconhecido ao fundir. Uma mensagem foi enviada à nossa equipe de suporte e eles entrarão em contato com você o quanto antes." -#: formshare/views/form.py:365 formshare/views/form.py:376 -#: formshare/views/form.py:387 formshare/views/form.py:398 -#: formshare/views/form.py:434 formshare/views/form.py:579 -#: formshare/views/form.py:590 formshare/views/form.py:601 +#: formshare/views/form.py:370 formshare/views/form.py:381 +#: formshare/views/form.py:392 formshare/views/form.py:403 +#: formshare/views/form.py:439 formshare/views/form.py:584 +#: formshare/views/form.py:595 formshare/views/form.py:606 msgid "An unexpected error occurred while processing the merge. An email has been sent to the technical team and they will contact you ASAP." msgstr "Um erro inesperado ocorreu ao processar a fusão. Um e-mail foi enviado à equipe técnica e eles entrarão em contato com você o quanto antes." -#: formshare/views/form.py:406 +#: formshare/views/form.py:411 msgid "This new version of the form has multiple languages when the previous one did not.\n" "\n" "Use the \"Fix language\" button to set the languages in this version of the ODK Form." @@ -5858,7 +5865,7 @@ msgstr "Esta nova versão do formulário tem vários idiomas, enquanto o antigo "\n" "Use o botão \"Idioma correto\" para definir os idiomas nesta versão do formulário ODK." -#: formshare/views/form.py:415 +#: formshare/views/form.py:420 msgid "This version of the ODK Form differs in the languages used. The following languages are undefined:\n" "\n" "" @@ -5866,27 +5873,27 @@ msgstr "Esta versão do formulário ODK difere nos idiomas usados. Os seguintes "\n" "" -#: formshare/views/form.py:496 formshare/views/repository.py:372 +#: formshare/views/form.py:501 formshare/views/repository.py:372 msgid "The primary key was not found in the ODK form or is inside a repeat" msgstr "A chave primária não foi encontrada no formulário ODK ou está dentro de um \"repetição\"" -#: formshare/views/form.py:504 formshare/views/form.py:526 +#: formshare/views/form.py:509 formshare/views/form.py:531 msgid "The following files are missing and you need to attach them:" msgstr "Os seguintes arquivos estão faltando e você precisa anexá-los:" -#: formshare/views/form.py:511 +#: formshare/views/form.py:516 msgid "There was an error while processing some of the XML resource files:" msgstr "Ocorreu um erro ao processar alguns dos arquivos XML de recurso:" -#: formshare/views/form.py:534 +#: formshare/views/form.py:539 msgid "The following CSV resource files have invalid characters:" msgstr "Os seguintes arquivos CSV de recurso tem caracteres inválidos:" -#: formshare/views/form.py:541 +#: formshare/views/form.py:546 msgid "There was an error while processing some of the CSV resource files:" msgstr "Ocorreu um erro ao processar alguns dos arquivos CSV de recurso:" -#: formshare/views/form.py:558 +#: formshare/views/form.py:563 msgid "An unexpected error occurred while processing the search expression. An email has been sent to the technical team and they will contact you ASAP." msgstr "Ocorreu um erro inesperado ao processar a expressão de pesquisa. Um e-mail foi enviado para a equipe técnica e eles entrarão em contato com você o mais breve possível." @@ -5894,171 +5901,171 @@ msgstr "Ocorreu um erro inesperado ao processar a expressão de pesquisa. Um e-m msgid "The primary key is invalid." msgstr "Chave primária inválida." -#: formshare/views/form.py:609 +#: formshare/views/form.py:614 msgid "The following choices are duplicated in your ODK:" msgstr "As seguintes escolhas estão duplicadas no seu ODK:" -#: formshare/views/form.py:620 +#: formshare/views/form.py:625 msgid "with the following duplicates:" msgstr "com as seguintes réplicas:" -#: formshare/views/form.py:938 +#: formshare/views/form.py:943 msgid "You need to indicate a primary key" msgstr "Você precisa indicar uma chave primária" -#: formshare/views/form.py:969 formshare/views/form.py:1185 +#: formshare/views/form.py:974 formshare/views/form.py:1190 msgid "You need to indicate a variable for labeling the cases" msgstr "Você deve indicar uma variável para rotular os casos" -#: formshare/views/form.py:983 formshare/views/form.py:1198 +#: formshare/views/form.py:988 formshare/views/form.py:1203 msgid "The labeling variable and the variable to identify each case cannot be the same" msgstr "A variável para rotular os casos e a variável para identificá-los não pode ser a mesma" -#: formshare/views/form.py:999 formshare/views/form.py:1212 +#: formshare/views/form.py:1004 formshare/views/form.py:1217 msgid "You need to indicate a type of case form" msgstr "Você deve indicar o tipo de formulário de caso" -#: formshare/views/form.py:1013 formshare/views/form.py:1225 +#: formshare/views/form.py:1018 formshare/views/form.py:1230 msgid "You need to indicate a variable for searching and selecting cases" msgstr "Você deve indicar a variável para pesquisar e selecionar casos" -#: formshare/views/form.py:1030 formshare/views/form.py:1239 +#: formshare/views/form.py:1035 formshare/views/form.py:1244 msgid "The variable for searching and selecting cases cannot be the same as the primary key" msgstr "A variável para encontrar e selecionar casos não pode ser a mesma que a chave primária" -#: formshare/views/form.py:1048 formshare/views/form.py:1255 +#: formshare/views/form.py:1053 formshare/views/form.py:1260 msgid "You need to indicate a variable that records date or date and time" msgstr "Você deve indicar uma variável que armazena uma data ou uma data e hora" -#: formshare/views/form.py:1067 formshare/views/form.py:1272 +#: formshare/views/form.py:1072 formshare/views/form.py:1277 msgid "The variable for recording a date or a date and time cannot be the same as the primary key or the case selector variable" msgstr "A variável para gravar uma data ou uma data e hora não pode ser a mesma que a chave primária ou a variável de seleção de caso" -#: formshare/views/form.py:1098 +#: formshare/views/form.py:1103 msgid "The form was added successfully" msgstr "O formulário foi adicionado com sucesso" -#: formshare/views/form.py:1116 formshare/views/form.py:1315 +#: formshare/views/form.py:1121 formshare/views/form.py:1320 msgid "Unable to upload the form: " msgstr "Não foi possível carregar o formulário: " -#: formshare/views/form.py:1162 +#: formshare/views/form.py:1167 msgid "You need to specify a primary key" msgstr "Você precisa especificar uma chave primária" -#: formshare/views/form.py:1305 +#: formshare/views/form.py:1310 msgid "The ODK form was successfully updated" msgstr "O formulário ODK foi atualizado com sucesso" -#: formshare/views/form.py:1366 +#: formshare/views/form.py:1371 msgid "The form was edited successfully" msgstr "O formulário foi editado com sucesso" -#: formshare/views/form.py:1492 +#: formshare/views/form.py:1497 msgid "The form was deleted successfully" msgstr "O formulário foi excluído com sucesso" -#: formshare/views/form.py:1551 +#: formshare/views/form.py:1556 msgid "The form was activated successfully" msgstr "O formulário foi ativado com sucesso" -#: formshare/views/form.py:1604 +#: formshare/views/form.py:1609 msgid "The form was deactivated successfully" msgstr "O formulário foi desativado com sucesso" -#: formshare/views/form.py:1718 formshare/views/projects.py:538 +#: formshare/views/form.py:1723 formshare/views/projects.py:538 msgid "No files were attached" msgstr "Nenhum arquivo foi anexado" -#: formshare/views/form.py:1722 formshare/views/form.py:1729 +#: formshare/views/form.py:1727 formshare/views/form.py:1734 #: formshare/views/projects.py:542 formshare/views/projects.py:549 msgid "Error {} encountered. A log entry has been produced" msgstr "Erro {} encontrado. Uma entrada de registro foi produzida" -#: formshare/views/form.py:1735 formshare/views/projects.py:556 +#: formshare/views/form.py:1740 formshare/views/projects.py:556 msgid "The file was uploaded successfully" msgstr "O arquivo foi carregado com sucesso" -#: formshare/views/form.py:1739 formshare/views/projects.py:560 +#: formshare/views/form.py:1744 formshare/views/projects.py:560 msgid "The files were uploaded successfully" msgstr "Os arquivos foram carregados com sucesso" -#: formshare/views/form.py:1797 +#: formshare/views/form.py:1802 msgid "You cannot remove this file because it is required by the repository" msgstr "Você não pode remover este arquivo porque ele é exigido pelo repositório" -#: formshare/views/form.py:1821 +#: formshare/views/form.py:1826 msgid "The files was removed successfully" msgstr "Os arquivos foram removidos com sucesso" -#: formshare/views/form.py:2105 +#: formshare/views/form.py:2110 msgid "The information was changed successfully" msgstr "A informação foi alterada com sucesso" -#: formshare/views/form.py:2201 +#: formshare/views/form.py:2206 msgid "The assistant was removed successfully" msgstr "O assistente foi removido com sucesso" -#: formshare/views/form.py:2286 +#: formshare/views/form.py:2291 msgid "The group was added successfully" msgstr "O grupo foi adicionado com sucesso" -#: formshare/views/form.py:2377 +#: formshare/views/form.py:2382 msgid "The role was changed successfully" msgstr "A função foi alterada com sucesso" -#: formshare/views/form.py:2435 +#: formshare/views/form.py:2440 msgid "The group was removed successfully" msgstr "O grupo foi removido com sucesso" -#: formshare/views/form.py:3099 +#: formshare/views/form.py:3252 msgid "The process was stopped successfully" msgstr "O processo foi interrompido com sucesso" -#: formshare/views/form.py:3105 +#: formshare/views/form.py:3258 msgid "FormShare was not able to stop the process" msgstr "O FormShare não conseguiu interromper o processo" -#: formshare/views/form.py:3437 +#: formshare/views/form.py:3590 msgid "Such alias already exist" msgstr "O alias já existe" -#: formshare/views/form.py:3441 +#: formshare/views/form.py:3594 msgid "Such field does not exist" msgstr "O campo não existe" -#: formshare/views/form.py:3445 +#: formshare/views/form.py:3598 msgid "The alias cannot be a number" msgstr "O alias não pode ser um número" -#: formshare/views/form.py:3448 +#: formshare/views/form.py:3601 msgid "The alias is invalid" msgstr "O alias é inválido" -#: formshare/views/form.py:3451 +#: formshare/views/form.py:3604 msgid "The alias has invalid characters. Only underscore (_) is allowed" msgstr "O alias tem caracteres inválidos. Apenas underline (_) é permitido" -#: formshare/views/form.py:3539 formshare/views/form.py:3551 -#: formshare/views/form.py:3664 formshare/views/form.py:3674 +#: formshare/views/form.py:3692 formshare/views/form.py:3704 +#: formshare/views/form.py:3817 formshare/views/form.py:3827 #: formshare/views/projects.py:759 formshare/views/projects.py:768 #: formshare/views/projects.py:850 formshare/views/projects.py:857 msgid "Invalid dates" msgstr "Datas inválidas" -#: formshare/views/form.py:3571 +#: formshare/views/form.py:3724 msgid "The partner was added successfully to this form" msgstr "O sócio foi adicionado com sucesso a este formulário" -#: formshare/views/form.py:3853 formshare/views/repository.py:104 +#: formshare/views/form.py:4006 formshare/views/repository.py:104 msgid "You need to indicate the primary language" msgstr "Você precisa indicar o idioma primário" -#: formshare/views/form.py:3902 formshare/views/repository.py:155 +#: formshare/views/form.py:4055 formshare/views/repository.py:155 msgid "Each language needs to have an unique ISO 639-1 code" msgstr "Cada idioma deve ter um código ISO 639-1 exclusivo" -#: formshare/views/form.py:3909 formshare/views/repository.py:162 +#: formshare/views/form.py:4062 formshare/views/repository.py:162 msgid "You need to indicate a ISO 639-1 code for each language" msgstr "Você precisa indicar um código ISO 639-1 para cada idioma" @@ -6184,7 +6191,7 @@ msgstr "O sócio foi associado a este projeto com sucesso" msgid "You need to indicate a partner" msgstr "Você deve indicar um sócio" -#: formshare/views/form.py:3688 formshare/views/projects.py:873 +#: formshare/views/form.py:3841 formshare/views/projects.py:873 msgid "The partner was successfully updated" msgstr "O sócio foi modificado com sucesso" @@ -6341,15 +6348,99 @@ msgstr "Você precisa fornecer uma explicação quando desconsiderar um erro" msgid "You need to provide an explanation when canceling a disregard" msgstr "Você precisa fornecer uma explicação ao cancelar uma desconsideração" -#: formshare/views/form.py:3748 +#: formshare/views/form.py:3901 msgid "The partner was successfully removed from this form" msgstr "O parceiro foi removido com sucesso deste formulário." -#: formshare/processes/odk/api.py:579 +#: formshare/processes/odk/api.py:580 msgid "The variable to control duplicate submissions has an invalid type. E.g., the variable cannot be note, picture, video, sound, select_multiple, or geo-spacial. The most appropriate types are text, datetime, barcode, calculate, select_one, or integer" msgstr "A variável para controlar as apresentações duplicadas é de um tipo inválido. Por exemplo, a variável não pode ser nota, imagem, vídeo, som, select_multiple ou geoespacial. Os tipos mais apropriados são texto, data e hora, código de barras, calcular, seleccionar_um ou número inteiro." -#: formshare/views/form.py:566 +#: formshare/views/form.py:571 msgid "The variable to control duplicate submissions has an invalid type. E.g., the variable cannot be note, picture, video, sound, select_multiple, or geo-spacial. The most appropriate types are text, datetime, barcode, calculate, select_one, or integer." msgstr "A variável para controlar as apresentações duplicadas é de um tipo inválido. Por exemplo, a variável não pode ser nota, imagem, vídeo, som, select_multiple ou geoespacial. Os tipos mais apropriados são texto, data e hora, código de barras, calcular, seleccionar_um ou número inteiro." +#: formshare/products/products.py:134 +msgid "Publishable Zip JSON" +msgstr "Zip JSON publicável" + +#: formshare/products/products.py:136 +msgid "Unpublishable Zip JSON" +msgstr "Zip JSON não pode ser publicado" + +#: formshare/products/export/zip_json/celery_task.py:141 +msgid "Unknown error while creating the JSON Zip. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" +msgstr "Erro desconhecido ao criar o Zip JSON. Desculpe. Favor reportar este erro como um problema em https://github.com/qlands/FormShare." + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:38 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:38 +msgid "Multiselects" +msgstr "Multiselecções" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:40 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:40 +msgid "Export multiselect tables" +msgstr "Exportar tabelas multi-selecção" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 +msgid "When checked, FormShare will create a CSV file for each multiselect table. But will not resolve multiselect fields. Click" +msgstr "Quando verificado, o FormShare irá criar um ficheiro CSV para cada tabela multi-selecção. Mas não irá resolver campos multi-seleccionados. Clique em" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 +msgid "for more information about how FormShare stores \"select_multiple\" variables." +msgstr "para mais informações sobre como o FormShare armazena variáveis \"select_multiple\"." + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:47 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:47 +msgid "Lookups" +msgstr "Consultas" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:49 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:49 +msgid "Export lookup tables" +msgstr "Tabelas de pesquisa para exportação" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 +msgid "When checked, FormShare will create a CSV file for each lookup table, but it will not resolve option labels. Click" +msgstr "Se esta opção for seleccionada, o FormShare criará um ficheiro CSV para cada tabela de pesquisa, mas não resolverá as etiquetas das opções. Clique em" + +#: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 +msgid "for more information about how FormShare stores \"select_one\" variables." +msgstr "para mais informações sobre como o FormShare armazena as variáveis \"select_one\"." + +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:2 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:4 +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:19 +msgid "Export to Zip JSON" +msgstr "Exportar para Zip JSON" + +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 +msgid "When checked, FormShare will create a JSON file for each multiselect table, but it will not resolve multiselect fields. Click" +msgstr "Se verificado, o FormShare irá criar um ficheiro JSON para cada tabela multi-selecção, mas não irá resolver os campos multi-selecção. Clique em" + +#: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 +msgid "When checked, FormShare will create a JSON file for each lookup table, but it will not resolve option labels. Click" +msgstr "Se marcado, o FormShare criará um ficheiro JSON para cada tabela de pesquisa, mas não resolverá os rótulos das opções. Clique em" + +#: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_json.jinja2:17 +msgid "Zip JSON Options" +msgstr "Opções Zip JSON" + +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:20 +msgid "Flat CSV (One file) (Disabled)" +msgstr "CSV plano (Ficheiro único) (Deficiente)" + +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:23 +msgid "Zip JSON (Multiple files)" +msgstr "Zip JSON (ficheiros múltiplos)" + +#: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:29 +msgid "Note: Flat CSV is disabled with more than 10,000 submissions." +msgstr "Nota: O CSV plano está desactivado com mais de 10.000 submissões." + +#: formshare/templates/generic/recover_password.jinja2:33 +msgid "We will send you an email with instructions" +msgstr "Enviar-lhe-emos um e-mail com instruções" + From 7146ea1207e4b989fc2a4bd7842ea7f6b9bbf880 Mon Sep 17 00:00:00 2001 From: QLands Date: Mon, 1 Aug 2022 19:00:03 -0400 Subject: [PATCH 003/246] Fix image --- docker_files/formshare/stable.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker_files/formshare/stable.Dockerfile b/docker_files/formshare/stable.Dockerfile index 39f83ab4e..6f7a8ee5c 100644 --- a/docker_files/formshare/stable.Dockerfile +++ b/docker_files/formshare/stable.Dockerfile @@ -1,4 +1,4 @@ -FROM qlands/odktools:20220727S +FROM qlands/odktools:20220727 MAINTAINER QLands Technology Consultants From eb3d45df39b62e65a8b34c7c200834790cad42cb Mon Sep 17 00:00:00 2001 From: QLands Date: Mon, 1 Aug 2022 19:00:26 -0400 Subject: [PATCH 004/246] Log error --- formshare/products/export/csv/celery_task.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/formshare/products/export/csv/celery_task.py b/formshare/products/export/csv/celery_task.py index b0bc14d8c..34697a2db 100644 --- a/formshare/products/export/csv/celery_task.py +++ b/formshare/products/export/csv/celery_task.py @@ -178,6 +178,14 @@ def internal_build_csv( None, locale, ) + log.error( + "Error while creating the flattening the JSON files. Error: " + + stderr.decode("utf-8") + + "-" + + stdout.decode("utf-8") + + "-: " + + " ".join(args) + ) raise DummyError( _("Error while creating the flattening the JSON files") ) From f8e0657eaf0935cfba78fa684774d1d9b7458884 Mon Sep 17 00:00:00 2001 From: QLands Date: Mon, 1 Aug 2022 19:00:58 -0400 Subject: [PATCH 005/246] Fix error with 1 or 2 proccesors --- templates/flatten_jsons_template.jinja2 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/templates/flatten_jsons_template.jinja2 b/templates/flatten_jsons_template.jinja2 index a412e1c07..80f2e4993 100755 --- a/templates/flatten_jsons_template.jinja2 +++ b/templates/flatten_jsons_template.jinja2 @@ -83,7 +83,10 @@ def main(raw_args=None): exit(1) # print("Processing with {} threads".format(multiprocessing.cpu_count())) - arrays = np.array_split(np.array(files), multiprocessing.cpu_count()-2) + num_workers = multiprocessing.cpu_count() - 2 + if num_workers <= 0: + num_workers = 1 + arrays = np.array_split(num_workers) threads = list() for ii in range(len(arrays)): From 3df4375dbcbeb367f0f20f98c0a0365b6b34d1ed Mon Sep 17 00:00:00 2001 From: QLands Date: Mon, 1 Aug 2022 19:21:16 -0400 Subject: [PATCH 006/246] Fix line --- templates/flatten_jsons_template.jinja2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/flatten_jsons_template.jinja2 b/templates/flatten_jsons_template.jinja2 index 80f2e4993..bcfd0b2c2 100755 --- a/templates/flatten_jsons_template.jinja2 +++ b/templates/flatten_jsons_template.jinja2 @@ -86,7 +86,7 @@ def main(raw_args=None): num_workers = multiprocessing.cpu_count() - 2 if num_workers <= 0: num_workers = 1 - arrays = np.array_split(num_workers) + arrays = np.array_split(np.array(files), num_workers) threads = list() for ii in range(len(arrays)): From 5a7d2e50d6fad67442609a10a20ba5ccf68576d6 Mon Sep 17 00:00:00 2001 From: QLands Date: Tue, 2 Aug 2022 17:16:38 -0400 Subject: [PATCH 007/246] Fix test after adding new name restrictions in ODK Tools --- .../asistencia_tecnica.xlsx | Bin 9144 -> 9073 bytes ...asistencia_tecnica_duplicated_options.xlsx | Bin 9339 -> 9279 bytes .../asistencia_tecnica_no_lng.xlsx | Bin 9255 -> 9197 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/formshare/tests/resources/forms/merge_multilanguaje/asistencia_tecnica.xlsx b/formshare/tests/resources/forms/merge_multilanguaje/asistencia_tecnica.xlsx index e9456f4d184cd081d1d6b35ac2086447ea7bc7e8..f36421374da2789b332c0459ad6cdbb3a95226c9 100644 GIT binary patch delta 6879 zcmaJ`1yEegvR>TXVR2d96C9F2aF^gAu((Tt1X5HgSiOYz9{CER>f}n}G zF$j%7a1v;!FZje|IDkdJT+F<7*l^dwVJo)G558L|*c}bF|>#Lfa zsTyyDX8Mx77%V`v#(VBHPWRf%s-RF}rsQNR`J^>_n-qetkTZE1q=9K)cs4U)N@QG*K`dj^uUVN5TfS#t)ZyIg2HPP+Z2W; zKXxV+K6rUEnw{P52~&cgF5^)t%Q^wp_|FZ1Mj^37 z=xx&Lh}7R@rk(NY*s<%RpDp<#lyu3~jfMK%mhsWY*JLEA8Za>P)Zv}Oyx~S1p-Z;< zt|v0dmYTtyZ&$!FFB!C0j_?(D@LC8 z;4Eqaiio0Nb1}-TeY)(Q7=YdyOSOm^@d}j_AKswJ1o%By3l8e(2?Zr8g=kCSxd5*R zhuZ>^#zW@uhc+Vhc^R2kYlFIRzS1eSJBWQ_Y3#2|u#rA8;M=U_+1khXMqz&oA>TB< z?V3W+P$vL?BIMt8)hB94q;ylkEh|1Pr`Ii7c@ANK=0-h*2Q(|Bqhfc7yd!3eW$ zzXabZ*e+6RE6RtIgBMeH5F4E%h0I;B>ZmlFuPV4V609Y*?ufWe)OVTbupMUadoCHy zUA;$2Jc#HXdAgvQso6-U)48h$F(AkztwE6#qDR_FuQp10%XsigL7HgnR}X3|Vil%L zi1sg({5_fV1JZDKh)bnUlbbNgfHWS?#J zyY~{B`jc{pmIXVD$!M)P=>*^Bc!wU>8bRlnLMFV9Y0ex@8P1ITiKQ!YR!D8z8OSGN z_dgQ~kw#B+MqjY8%Op0e!tjKlQZA@pxlx;rCq3)6nGdi<`_}zeB*{yoFrrS+i?)Ow z9l7s!;dR-ABXPo2#;pPP$&3EKlgG>{r>%KLcy3hrdIoM9or&(uW+%H)lvyeJSJLO4Wat za*$H7=h$S$QCHRyuQzdVguK2H5YsqIlp}Y;0_I=N#R?CXQG?DIVL4550x(FMyu5y( z@Z0HyUV%^zIuLW^n8$o2lrC{5B+TxNfL0JYB5rbAib;4qgeVl;5#UFYz**jOiz~Ut z^JWX#@XLiDYgtsnOt#SY4ReQ;U=jWPr661Jb|Xx5Y(kRgp0R_l<2CLy$QjnUk)@z~ zQL<*uV>x;$WEsM=k>*=~&;enVafvnMl=g0Fzwu`2z9hOu4Yi%pAAq?YnUUhhs|U}U z3BzVhns&XN=;#O!gO;=wtPQu`2-JOA=*x{=Pnz2K&O~t2k7@A4Ltna=_X@<=p&{Uo&_gx?5jo}bEu;`v zzh+`efSnZtDmyT{E2oMaE)l)a?z*LC-{%QVU$UYmi%&Y7+$WFel>9hG_%<4pQ~)HI zK2Y9{;>Gx07M?g4@Lqf;}A=ZIP8uF zZA9%01w@*`Jq0I0Y9mODZ44blz1|j1QkX=gQ@D%;TWwKD58g#MxJ8Lyh02rXY@>#h z=W8i}Togqf2y2B-TXGG?g7WG0N|T>VAfV{rvm7^)f6d_sI`tIp2bpT%R)!?_D8o?wtJ0j>E_^AMXp+ z(CYL5`bm0|OuwC4Yml8tR)vE|c8~+f@)Ju6LY^O_XJ6TmdwcrSVRURiQu62gzdQhnNu{$!4uj~YJ{E5 zhUNt+dCkN@mMe7B6tVgBwiUkU5ylJ3Ps#{`HQc!NERAHF)-gKi*(M8NVpnl$HIII) zGL#y0P=b4!yPo=IjTWI7#Z@SUKVhs;(BDa)rLcg}w*`1c-=y-`90)Kpm7VAzNXO(x z#(_PXK)IGFQ4R7lgzqv5JXtYplhduD)C6<_Et*U{Lf8%2{7K?@kvp}TnK`9+bTVjz z-nfZpFLp+wKG(nxL>jf0u0GI9+jV#2+nPY>?xcOpZhGzJB^Ag3Kn?N#mE9ox+@22h z-_q5b@`TC5_OIFSⓈ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 Tbz!7L$bm*PvY@KbJ-+ZiDnNv{ delta 6915 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 AApigX diff --git a/formshare/tests/resources/forms/merge_multilanguaje/asistencia_tecnica_duplicated_options.xlsx b/formshare/tests/resources/forms/merge_multilanguaje/asistencia_tecnica_duplicated_options.xlsx index 9ec8a538237b7c62316ea8fc7cc56c0c6a6cdfb5..d1be4054a87c1984b0b6278ec4d8a01fc1a5318c 100644 GIT binary patch delta 6201 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 delta 6264 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 From 8a8b35379ae12adc10177a50bee9a04616f8b923 Mon Sep 17 00:00:00 2001 From: Carlos Quiros Date: Wed, 3 Aug 2022 11:59:41 -0400 Subject: [PATCH 008/246] Wait a bit longer in slower machines --- formshare/tests/steps/json_logs_4.py | 3 ++- start_for_ngrok.sh | 1 - start_local_celery_for_testing.sh | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) delete mode 100755 start_for_ngrok.sh create mode 100755 start_local_celery_for_testing.sh diff --git a/formshare/tests/steps/json_logs_4.py b/formshare/tests/steps/json_logs_4.py index acca637b5..49932eb1b 100644 --- a/formshare/tests/steps/json_logs_4.py +++ b/formshare/tests/steps/json_logs_4.py @@ -159,7 +159,8 @@ def t_e_s_t_json_logs_4(test_object): form_details = get_form_details( test_object.server_config, json4_project_id, json4_form ) - + print("Wait a bit longer for slower machines") + time.sleep(10) # Wait a bit longer for slower machines engine = create_engine( test_object.server_config["sqlalchemy.url"], poolclass=NullPool ) diff --git a/start_for_ngrok.sh b/start_for_ngrok.sh deleted file mode 100755 index 06642092d..000000000 --- a/start_for_ngrok.sh +++ /dev/null @@ -1 +0,0 @@ -gunicorn --proxy-protocol --forwarded-allow-ips 127.0.0.1 --paste ./development.ini diff --git a/start_local_celery_for_testing.sh b/start_local_celery_for_testing.sh new file mode 100755 index 000000000..36ff58f9c --- /dev/null +++ b/start_local_celery_for_testing.sh @@ -0,0 +1,3 @@ +export FORMSHARE_RUN_FROM_CELERY=true +celery -A formshare.config.celery_app worker --loglevel=info -Q FormShare -f ./celery.log +export FORMSHARE_RUN_FROM_CELERY=false From 472af419e82aadef9a7d25e70a8ff5d1ff305591 Mon Sep 17 00:00:00 2001 From: Carlos Quiros Date: Wed, 3 Aug 2022 12:00:34 -0400 Subject: [PATCH 009/246] Add local celery for testing --- start_local_celery.sh | 2 +- start_local_celery_for_testing.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/start_local_celery.sh b/start_local_celery.sh index 36ff58f9c..1d02b5b35 100755 --- a/start_local_celery.sh +++ b/start_local_celery.sh @@ -1,3 +1,3 @@ export FORMSHARE_RUN_FROM_CELERY=true -celery -A formshare.config.celery_app worker --loglevel=info -Q FormShare -f ./celery.log +celery -A formshare.config.celery_app worker --loglevel=info -Q FormShare export FORMSHARE_RUN_FROM_CELERY=false diff --git a/start_local_celery_for_testing.sh b/start_local_celery_for_testing.sh index 36ff58f9c..55a22b418 100755 --- a/start_local_celery_for_testing.sh +++ b/start_local_celery_for_testing.sh @@ -1,3 +1,3 @@ export FORMSHARE_RUN_FROM_CELERY=true -celery -A formshare.config.celery_app worker --loglevel=info -Q FormShare -f ./celery.log +celery -A formshare.config.celery_app worker -D --loglevel=info -Q FormShare -f ./celery.log --pidfile ./celerypid.log export FORMSHARE_RUN_FROM_CELERY=false From 90efee36fc91fba75cbb7aaee65aa713be6f6c21 Mon Sep 17 00:00:00 2001 From: Carlos Quiros Date: Fri, 5 Aug 2022 12:23:43 -0400 Subject: [PATCH 010/246] Fix typos --- formshare/static/formshare_storage_en.pdf | Bin 967556 -> 967396 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/formshare/static/formshare_storage_en.pdf b/formshare/static/formshare_storage_en.pdf index a16d0d3c1eeccc0b448f8443e70abd771f6a538f..39f6a1f217bc494ad01e617fe784eb56fbebf736 100644 GIT binary patch delta 115630 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 z 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

#NV=1M*m4mzS# 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 From 29a577ea509cbb4928210105d9552625a3f14062 Mon Sep 17 00:00:00 2001 From: Carlos Quiros Date: Fri, 5 Aug 2022 12:24:43 -0400 Subject: [PATCH 011/246] Test tabs and other chars in data --- .../forms/complex_form/submissions_logs2/submission001.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/formshare/tests/resources/forms/complex_form/submissions_logs2/submission001.xml b/formshare/tests/resources/forms/complex_form/submissions_logs2/submission001.xml index b1bb11929..92972b3e8 100644 --- a/formshare/tests/resources/forms/complex_form/submissions_logs2/submission001.xml +++ b/formshare/tests/resources/forms/complex_form/submissions_logs2/submission001.xml @@ -1,2 +1,3 @@ -6e1e92dad415430da394517a694e162fDANILO GUZMÁN GONZÁLEZ 8659140311603992019-05-28T10:23:21.463-06:0010:23:21Y7784522 KM ESTE DE LA ESCUELA DE SAN MARTINROGELIO ESPINOSA LÓPEZ 109750690MYman_singleY2 KM ESTE DE LA ESCUELA DE SAN MARTÍN 2656306883395739none101011101Yown_land18.0hectareMale12.0hectarefuente_RiopermanenteYarroz maiz frijol banano_criollo cana_azucar551arrozArroz1.0haN2019-08-292maizMaíz1.0haN2019-05-303cana_azucarCaña de azúcar0.5haY2019-05-314banano_criolloBanano Criollo0.5haN2018-05-185banano_criolloBanano Criollo0.5haN2018-06-14Ycattle donkeys_horses221cattleVacas, toros18criaY10.0hectare5.0hectare5.0hectare0.25hectare0.0hectare2019-06-132cattleVacas, toros18criaY10.0hectare5.0hectare5.0hectare0.25hectare0.0hectare2019-06-13NNTodo o casi todoLa mitad

9.707472134 -85.559352785 103.794494045 24.02019-05-28T10:42:30.433-06:0010:42:30
uuid:082a4d79-e90c-4536-a1ac-6fdb21ef6682 \ No newline at end of file +6e1e92dad415430da394517a694e162fDANILO GUZMÁN GONZÁLEZ 8659140311603992019-05-28T10:23:21.463-06:0010:23:21Y7784522 KM ESTE DE LA ESCUELA DE SAN MARTIN"ROGELIO ESPINOSA +LÓPEZ 109750690 MYman_singleY2 KM ESTE DE LA ESCUELA DE SAN MARTÍN 2656306883395739none101011101Yown_land18.0hectareMale12.0hectarefuente_RiopermanenteYarroz maiz frijol banano_criollo cana_azucar551arrozArroz1.0haN2019-08-292maizMaíz1.0haN2019-05-303cana_azucarCaña de azúcar0.5haY2019-05-314banano_criolloBanano Criollo0.5haN2018-05-185banano_criolloBanano Criollo0.5haN2018-06-14Ycattle donkeys_horses221cattleVacas, toros18criaY10.0hectare5.0hectare5.0hectare0.25hectare0.0hectare2019-06-132cattleVacas, toros18criaY10.0hectare5.0hectare5.0hectare0.25hectare0.0hectare2019-06-13NNTodo o casi todoLa mitad
9.707472134 -85.559352785 103.794494045 24.02019-05-28T10:42:30.433-06:0010:42:30
uuid:082a4d79-e90c-4536-a1ac-6fdb21ef6682
\ No newline at end of file From 593f69b90855ead3e63c3407cba73b75b250020a Mon Sep 17 00:00:00 2001 From: Carlos Quiros Date: Sat, 6 Aug 2022 11:11:28 -0400 Subject: [PATCH 012/246] Report request processing time if necessary --- formshare/views/classes.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/formshare/views/classes.py b/formshare/views/classes.py index edfbb800b..e8fef90b0 100644 --- a/formshare/views/classes.py +++ b/formshare/views/classes.py @@ -430,6 +430,7 @@ def check_authorization(self): raise HTTPFound(location=next_page) def __call__(self): + start_time = datetime.datetime.now() error = self.request.session.pop_flash(queue="error") if len(error) > 0: self.append_to_errors(error[0].replace("|error", "")) @@ -536,7 +537,19 @@ def __call__(self): }, self.viewResult, ) - + end_time = datetime.datetime.now() + time_delta = end_time - start_time + total_seconds = time_delta.total_seconds() + if ( + self.request.registry.settings.get("report_processing_time", "false") + == "true" + ): + if self.request.matched_route is not None: + log.error( + "Processing {} by {} took {} seconds".format( + self.request.matched_route.name, self.user.login, total_seconds + ) + ) if not self.returnRawViewResult: self.classResult.update(self.viewResult) return self.classResult From 0ade6f9d646ae4fabfb68d51171944efb93e4cd2 Mon Sep 17 00:00:00 2001 From: Carlos Quiros Date: Mon, 8 Aug 2022 13:52:45 -0400 Subject: [PATCH 013/246] Use latest ODKToMySQL --- formshare/products/export/xlsx/celery_task.py | 23 ++- formshare/products/export/xlsx/xlsx.py | 26 ++- .../projects/forms/export/xlsx.jinja2 | 48 +++++- formshare/tests/steps/repository_downloads.py | 158 ++++++++++++++++-- formshare/views/form.py | 35 +++- 5 files changed, 264 insertions(+), 26 deletions(-) diff --git a/formshare/products/export/xlsx/celery_task.py b/formshare/products/export/xlsx/celery_task.py index b150656ab..c2e71bde2 100644 --- a/formshare/products/export/xlsx/celery_task.py +++ b/formshare/products/export/xlsx/celery_task.py @@ -3,7 +3,7 @@ import time import uuid from subprocess import Popen, PIPE - +import multiprocessing from celery.utils.log import get_task_logger from formshare.config.celery_app import celeryApp @@ -29,13 +29,14 @@ def internal_build_xlsx( settings, odk_dir, form_schema, - form_id, create_xml, encryption_key, xlsx_file, protect_sensitive, locale, options=1, + include_multiselect=False, + include_lookups=False, ): if ( os.environ.get("FORMSHARE_PYTEST_RUNNING", "false") == "true" @@ -64,6 +65,12 @@ def internal_build_xlsx( temp_dir = os.path.join(odk_dir, *paths) os.makedirs(temp_dir) + num_workers = ( + multiprocessing.cpu_count() - int(settings.get("server:threads", "1")) - 1 + ) + if num_workers <= 0: + num_workers = 1 + args = [ mysql_to_xlsx, "-H " + mysql_host, @@ -74,12 +81,16 @@ def internal_build_xlsx( "-x " + create_xml, "-o " + xlsx_file, "-T " + temp_dir, - "-f " + form_id, "-e " + encryption_key, "-r {}".format(options), + "-w {}".format(num_workers), ] if protect_sensitive: args.append("-c") + if include_multiselect: + args.append("-m") + if include_lookups: + args.append("-l") log.info(" ".join(args)) @@ -137,23 +148,25 @@ def build_xlsx( settings, odk_dir, form_schema, - form_id, create_xml, encryption_key, xlsx_file, protect_sensitive, locale, options=1, + include_multiselect=False, + include_lookups=False, ): internal_build_xlsx( settings, odk_dir, form_schema, - form_id, create_xml, encryption_key, xlsx_file, protect_sensitive, locale, options, + include_multiselect, + include_lookups, ) diff --git a/formshare/products/export/xlsx/xlsx.py b/formshare/products/export/xlsx/xlsx.py index 1a93dd66f..98ea8d213 100644 --- a/formshare/products/export/xlsx/xlsx.py +++ b/formshare/products/export/xlsx/xlsx.py @@ -9,7 +9,15 @@ def generate_public_xlsx_file( - request, user, project, form, odk_dir, form_schema, options=1 + request, + user, + project, + form, + odk_dir, + form_schema, + options=1, + include_multiselect=False, + include_lookups=False, ): settings = {} for key, value in request.registry.settings.items(): @@ -28,13 +36,14 @@ def generate_public_xlsx_file( settings, odk_dir, form_schema, - form, create_xml_file, request.registry.settings["auth.opaque"], xlsx_file, True, request.locale_name, options, + include_multiselect, + include_lookups, ), queue="FormShare", ) @@ -53,7 +62,15 @@ def generate_public_xlsx_file( def generate_private_xlsx_file( - request, user, project, form, odk_dir, form_schema, options=1 + request, + user, + project, + form, + odk_dir, + form_schema, + options=1, + include_multiselect=False, + include_lookups=False, ): settings = {} for key, value in request.registry.settings.items(): @@ -72,13 +89,14 @@ def generate_private_xlsx_file( settings, odk_dir, form_schema, - form, create_xml_file, request.registry.settings["auth.opaque"], xlsx_file, False, request.locale_name, options, + include_multiselect, + include_lookups, ), queue="FormShare", ) diff --git a/formshare/templates/dashboard/projects/forms/export/xlsx.jinja2 b/formshare/templates/dashboard/projects/forms/export/xlsx.jinja2 index 857910845..65311e7e7 100644 --- a/formshare/templates/dashboard/projects/forms/export/xlsx.jinja2 +++ b/formshare/templates/dashboard/projects/forms/export/xlsx.jinja2 @@ -28,9 +28,27 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+ {{ _('When checked, FormShare will create a CSV file for each multiselect table. But will not resolve multiselect fields. Click') }} {{ _('here') }} {{ _('for more information about how FormShare stores "select_multiple" variables.') }} +
+
+
+
+
+
+
+
+ {{ _('When checked, FormShare will create a CSV file for each lookup table, but it will not resolve option labels. Click') }} {{ _('here') }} {{ _('for more information about how FormShare stores "select_one" variables.') }} +
@@ -47,4 +65,26 @@
-{% endblock mainsection %} \ No newline at end of file +{% endblock mainsection %} + + +{% block scripts %} + {{ super() }} + +{% endblock scripts %} \ No newline at end of file diff --git a/formshare/tests/steps/repository_downloads.py b/formshare/tests/steps/repository_downloads.py index 0e2e72ad9..15c6ece51 100644 --- a/formshare/tests/steps/repository_downloads.py +++ b/formshare/tests/steps/repository_downloads.py @@ -416,7 +416,9 @@ def mimic_celery_private_csv_process(): status=200, ) - def mimic_celery_xlsx_process(protect, resolve): + def mimic_celery_xlsx_process( + protect, resolve, include_multiselect, include_lookup + ): from formshare.products.export.xlsx.celery_task import ( internal_build_xlsx, ) @@ -454,13 +456,14 @@ def mimic_celery_xlsx_process(protect, resolve): test_object.server_config, test_object.server_config["repository.path"] + "/odk", form_schema, - test_object.formID, create_xml_file, test_object.server_config["auth.opaque"], test_object.working_dir + "/{}.xlsx".format(task_id), protect, "en", resolve, + include_multiselect, + include_lookup, ) store_task_status(task_id, test_object.server_config) test_object.testapp.get( @@ -1029,7 +1032,71 @@ def mimic_celery_media_process(): status=200, ) - # Export to excel publishable + # Export to excel publishable just codes + test_object.testapp.post( + "/user/{}/project/{}/form/{}/export/xlsx".format( + test_object.randonLogin, test_object.project, test_object.formID + ), + { + "publishable": "yes", + "labels": "1", + }, + status=302, + ) + + # Export to excel publishable just codes and multiselects + test_object.testapp.post( + "/user/{}/project/{}/form/{}/export/xlsx".format( + test_object.randonLogin, test_object.project, test_object.formID + ), + { + "publishable": "yes", + "labels": "1", + "multiselects": "1", + }, + status=302, + ) + + # Export to excel publishable just codes and lookups + test_object.testapp.post( + "/user/{}/project/{}/form/{}/export/xlsx".format( + test_object.randonLogin, test_object.project, test_object.formID + ), + { + "publishable": "yes", + "labels": "1", + "lookups": "1", + }, + status=302, + ) + + # Export to excel publishable just codes with multiselects and lookups + test_object.testapp.post( + "/user/{}/project/{}/form/{}/export/xlsx".format( + test_object.randonLogin, test_object.project, test_object.formID + ), + { + "publishable": "yes", + "labels": "1", + "multiselects": "1", + "lookups": "1", + }, + status=302, + ) + + # Export to excel publishable labels instead of codes + test_object.testapp.post( + "/user/{}/project/{}/form/{}/export/xlsx".format( + test_object.randonLogin, test_object.project, test_object.formID + ), + { + "publishable": "yes", + "labels": "2", + }, + status=302, + ) + + # Export to excel publishable labels and codes test_object.testapp.post( "/user/{}/project/{}/form/{}/export/xlsx".format( test_object.randonLogin, test_object.project, test_object.formID @@ -1041,7 +1108,71 @@ def mimic_celery_media_process(): status=302, ) - # Export to excel not publishable + # Export to excel not publishable. Just codes + test_object.testapp.post( + "/user/{}/project/{}/form/{}/export/xlsx".format( + test_object.randonLogin, test_object.project, test_object.formID + ), + { + "publishable": "no", + "labels": "1", + }, + status=302, + ) + + # Export to excel not publishable. Just codes with multiselects + test_object.testapp.post( + "/user/{}/project/{}/form/{}/export/xlsx".format( + test_object.randonLogin, test_object.project, test_object.formID + ), + { + "publishable": "no", + "labels": "1", + "multiselects": "1", + }, + status=302, + ) + + # Export to excel not publishable. Just codes with lookups + test_object.testapp.post( + "/user/{}/project/{}/form/{}/export/xlsx".format( + test_object.randonLogin, test_object.project, test_object.formID + ), + { + "publishable": "no", + "labels": "1", + "lookups": "1", + }, + status=302, + ) + + # Export to excel not publishable. Just codes with multiselects and lookups + test_object.testapp.post( + "/user/{}/project/{}/form/{}/export/xlsx".format( + test_object.randonLogin, test_object.project, test_object.formID + ), + { + "publishable": "no", + "labels": "1", + "multiselects": "1", + "lookups": "1", + }, + status=302, + ) + + # Export to excel not publishable. Labels instead of codes + test_object.testapp.post( + "/user/{}/project/{}/form/{}/export/xlsx".format( + test_object.randonLogin, test_object.project, test_object.formID + ), + { + "publishable": "no", + "labels": "2", + }, + status=302, + ) + + # Export to excel not publishable. Labels and codes test_object.testapp.post( "/user/{}/project/{}/form/{}/export/xlsx".format( test_object.randonLogin, test_object.project, test_object.formID @@ -1546,12 +1677,19 @@ def mimic_celery_media_process(): mimic_celery_public_csv_process() mimic_celery_private_csv_process() - mimic_celery_xlsx_process(True, 1) - mimic_celery_xlsx_process(True, 2) - mimic_celery_xlsx_process(True, 3) - mimic_celery_xlsx_process(False, 1) - mimic_celery_xlsx_process(False, 2) - mimic_celery_xlsx_process(False, 3) + mimic_celery_xlsx_process(True, 1, False, False) + mimic_celery_xlsx_process(True, 1, True, False) + mimic_celery_xlsx_process(True, 1, False, True) + mimic_celery_xlsx_process(True, 1, True, True) + mimic_celery_xlsx_process(True, 2, False, False) + mimic_celery_xlsx_process(True, 3, False, False) + + mimic_celery_xlsx_process(False, 1, False, False) + mimic_celery_xlsx_process(False, 1, True, False) + mimic_celery_xlsx_process(False, 1, False, True) + mimic_celery_xlsx_process(False, 1, True, True) + mimic_celery_xlsx_process(False, 2, False, False) + mimic_celery_xlsx_process(False, 3, False, False) mimic_celery_zip_csv_process(True, 1, True, True) mimic_celery_zip_csv_process(True, 1, False, True) diff --git a/formshare/views/form.py b/formshare/views/form.py index 4a96b957a..42c62fc8e 100644 --- a/formshare/views/form.py +++ b/formshare/views/form.py @@ -2510,6 +2510,16 @@ def process_view(self): project_code = self.request.matchdict["projcode"] form_id = self.request.matchdict["formid"] options = int(self.request.params.get("options", "1")) + + if "multiselects" in self.request.params.keys(): + include_multiselect = True + else: + include_multiselect = False + if "lookups" in self.request.params.keys(): + include_lookups = True + else: + include_lookups = False + project_id = get_project_id_from_name(self.request, user_id, project_code) project_details = {} if project_id is not None: @@ -2539,6 +2549,8 @@ def process_view(self): odk_dir, form_data["form_schema"], options, + include_multiselect, + include_lookups, ) next_page = self.request.route_url( @@ -2693,6 +2705,16 @@ def process_view(self): form_id = self.request.matchdict["formid"] project_id = get_project_id_from_name(self.request, user_id, project_code) options = int(self.request.params.get("options", "1")) + + if "multiselects" in self.request.params.keys(): + include_multiselect = True + else: + include_multiselect = False + if "lookups" in self.request.params.keys(): + include_lookups = True + else: + include_lookups = False + project_details = {} if project_id is not None: project_found = False @@ -2720,7 +2742,9 @@ def process_view(self): form_id, odk_dir, form_data["form_schema"], - options=options, + options, + include_multiselect, + include_lookups, ) next_page = self.request.route_url( @@ -4260,13 +4284,18 @@ def process_view(self): export_data = self.get_post_dict() options_type = int(export_data["labels"]) self.returnRawViewResult = True + query_dict = {"options": options_type} + if "multiselects" in export_data.keys(): + query_dict["multiselects"] = 1 + if "lookups" in export_data.keys(): + query_dict["lookups"] = 1 if export_data["publishable"] == "yes": location = self.request.route_url( "form_download_public_xlsx_data", userid=user_id, projcode=project_code, formid=form_id, - _query={"options": options_type}, + _query=query_dict, ) return HTTPFound(location=location) if export_data["publishable"] == "no": @@ -4275,7 +4304,7 @@ def process_view(self): userid=user_id, projcode=project_code, formid=form_id, - _query={"options": options_type}, + _query=query_dict, ) return HTTPFound(location=location) From aed1accdd93224e6ee7ac2bccca347f281c74bc0 Mon Sep 17 00:00:00 2001 From: Carlos Quiros Date: Mon, 8 Aug 2022 17:32:42 -0400 Subject: [PATCH 014/246] Start changing check access --- formshare/plugins/utilities.py | 25 ++-------- formshare/processes/db/project.py | 33 ++++++++++++- formshare/views/api/version_1/forms.py | 4 +- formshare/views/assistant_groups.py | 64 ++++++------------------- formshare/views/assistants.py | 65 ++++++-------------------- formshare/views/classes.py | 15 ++---- 6 files changed, 72 insertions(+), 134 deletions(-) diff --git a/formshare/plugins/utilities.py b/formshare/plugins/utilities.py index 440d4b4cd..f3892f04e 100644 --- a/formshare/plugins/utilities.py +++ b/formshare/plugins/utilities.py @@ -13,6 +13,7 @@ get_project_details, get_form_data, get_project_owner, + get_project_access_type ) from formshare.processes.settings.settings import ( store_settings, @@ -251,20 +252,12 @@ def process_view(self): project_code = self.request.matchdict["projcode"] form_id = self.request.matchdict["formid"] project_id = get_project_id_from_name(self.request, user_id, project_code) - project_details = {} if project_id is not None: - project_found = False - for project in self.user_projects: - if project["project_id"] == project_id: - project_found = True - project_details = project - if not project_found: - raise HTTPNotFound + if get_project_access_type(self.request, project_id, user_id, self.user.login) >= 4: + raise HTTPNotFound # Don't edit a public or a project that I am just a member else: raise HTTPNotFound - if project_details["access_type"] >= 4: - raise HTTPNotFound # Don't edit a public or a project that I am just a member self.user_id = user_id self.project_code = project_code self.project_id = project_id @@ -294,20 +287,12 @@ def process_view(self): project_code = self.request.matchdict["projcode"] form_id = self.request.matchdict["formid"] project_id = get_project_id_from_name(self.request, user_id, project_code) - project_details = {} if project_id is not None: - project_found = False - for project in self.user_projects: - if project["project_id"] == project_id: - project_found = True - project_details = project - if not project_found: - raise HTTPNotFound + if get_project_access_type(self.request, project_id, user_id, self.user.login) >= 3: + raise HTTPNotFound # Don't edit a public or a project that I am just a member else: raise HTTPNotFound - if project_details["access_type"] >= 3: - raise HTTPNotFound # Don't edit a public or a project that I am just a member self.user_id = user_id self.project_code = project_code self.project_id = project_id diff --git a/formshare/processes/db/project.py b/formshare/processes/db/project.py index fe0ab1df1..46bcac9ac 100644 --- a/formshare/processes/db/project.py +++ b/formshare/processes/db/project.py @@ -35,6 +35,7 @@ "set_project_as_active", "get_project_owner", "get_project_access_type", + "api_get_project_access_type", "get_owned_project", "get_number_of_case_creators", "get_number_of_case_creators_with_repository", @@ -810,7 +811,7 @@ def get_project_id_from_name(request, user, project_code): return None -def get_project_access_type(request, user, project_id): +def api_get_project_access_type(request, user, project_id): res = ( request.dbsession.query(Userproject.access_type) .filter(Userproject.user_id == user) @@ -1286,6 +1287,34 @@ def remove_file_from_project(request, project, file_name): def get_project_details(request, project): res = request.dbsession.query(Project).filter(Project.project_id == project).first() if res is not None: - return map_from_schema(res) + mapped_data = map_from_schema(res) + res = ( + request.dbsession.query(Userproject.user_id) + .filter(Userproject.project_id == project) + .filter(Userproject.access_type == 1) + .first() + ) + if res is not None: + mapped_data["owner"] = res.user_id + else: + log.error("Cannot find owner for project {}".format(project)) + mapped_data["owner"] = None + return mapped_data else: return None + + +def get_project_access_type(request, project_id, user_id, logged_user): + if user_id == logged_user: + return 1 + else: + res = ( + request.dbsession.query(Userproject.access_type) + .filter(Userproject.project_id == project_id) + .filter(Userproject.user_id == logged_user) + .filter(Userproject.project_accepted == 1) + .first() + ) + if res is None: + return 5 # Five is not access at all + return res.access_type diff --git a/formshare/views/api/version_1/forms.py b/formshare/views/api/version_1/forms.py index 6ed506cf4..4e0c95f3d 100644 --- a/formshare/views/api/version_1/forms.py +++ b/formshare/views/api/version_1/forms.py @@ -6,7 +6,7 @@ from formshare.processes.db import ( get_project_id_from_name, - get_project_access_type, + api_get_project_access_type, get_form_data, add_file_to_form, ) @@ -36,7 +36,7 @@ def process_view(self): project_id = get_project_id_from_name( self.request, project_user, project_code ) - access_type = get_project_access_type(self.request, user_id, project_id) + access_type = api_get_project_access_type(self.request, user_id, project_id) if access_type is None: self.return_error( "authorization", diff --git a/formshare/views/assistant_groups.py b/formshare/views/assistant_groups.py index 5a019c3aa..381c30ec1 100644 --- a/formshare/views/assistant_groups.py +++ b/formshare/views/assistant_groups.py @@ -11,6 +11,8 @@ get_members, add_assistant_to_group, remove_assistant_from_group, + get_project_details, + get_project_access_type ) from formshare.views.classes import PrivateView @@ -31,21 +33,14 @@ def process_view(self): self.set_active_menu("groups") else: self.set_active_menu("projects") - project_details = {} + if project_id is not None: - project_found = False - for project in self.user_projects: - if project["project_id"] == project_id: - project_found = True - project_details = project - if not project_found: + if get_project_access_type(self.request, project_id, user_id, self.user.login) > 4: raise HTTPNotFound + project_details = get_project_details(self.request, project_id) else: raise HTTPNotFound - # if project_details["access_type"] == 5: - # raise HTTPNotFound - groups = get_project_groups(self.request, project_id) return {"groups": groups, "projectDetails": project_details, "userid": user_id} @@ -66,21 +61,13 @@ def process_view(self): self.set_active_menu("groups") else: self.set_active_menu("projects") - project_details = {} if project_id is not None: - project_found = False - for project in self.user_projects: - if project["project_id"] == project_id: - project_found = True - project_details = project - if not project_found: + if get_project_access_type(self.request, project_id, user_id, self.user.login) >= 4: raise HTTPNotFound + project_details = get_project_details(self.request, project_id) else: raise HTTPNotFound - if project_details["access_type"] >= 4: - raise HTTPNotFound - if self.request.method == "POST": group_data = self.get_post_dict() if group_data["group_desc"] != "": @@ -124,21 +111,14 @@ def process_view(self): self.set_active_menu("groups") else: self.set_active_menu("projects") - project_details = {} + if project_id is not None: - project_found = False - for project in self.user_projects: - if project["project_id"] == project_id: - project_found = True - project_details = project - if not project_found: + if get_project_access_type(self.request, project_id, user_id, self.user.login) >= 4: raise HTTPNotFound + project_details = get_project_details(self.request, project_id) else: raise HTTPNotFound - if project_details["access_type"] >= 4: - raise HTTPNotFound - if self.request.method == "POST": group_data = self.get_post_dict() @@ -183,21 +163,13 @@ def process_view(self): user_id = self.request.matchdict["userid"] project_code = self.request.matchdict["projcode"] project_id = get_project_id_from_name(self.request, user_id, project_code) - project_details = {} + if project_id is not None: - project_found = False - for project in self.user_projects: - if project["project_id"] == project_id: - project_found = True - project_details = project - if not project_found: + if get_project_access_type(self.request, project_id, user_id, self.user.login) >= 4: raise HTTPNotFound else: raise HTTPNotFound - if project_details["access_type"] >= 4: - raise HTTPNotFound - if self.request.method == "POST": self.returnRawViewResult = True group_id = self.request.matchdict["groupid"] @@ -300,21 +272,13 @@ def process_view(self): user_id = self.request.matchdict["userid"] project_code = self.request.matchdict["projcode"] project_id = get_project_id_from_name(self.request, user_id, project_code) - project_details = {} + if project_id is not None: - project_found = False - for project in self.user_projects: - if project["project_id"] == project_id: - project_found = True - project_details = project - if not project_found: + if get_project_access_type(self.request, project_id, user_id, self.user.login) >= 4: raise HTTPNotFound else: raise HTTPNotFound - if project_details["access_type"] >= 4: - raise HTTPNotFound - if self.request.method == "POST": self.returnRawViewResult = True group_id = self.request.matchdict["groupid"] diff --git a/formshare/views/assistants.py b/formshare/views/assistants.py index e7084b6e0..5b5aceffd 100644 --- a/formshare/views/assistants.py +++ b/formshare/views/assistants.py @@ -12,6 +12,8 @@ delete_assistant, change_assistant_password, get_timezones, + get_project_details, + get_project_access_type ) from formshare.views.classes import PrivateView @@ -29,21 +31,14 @@ def process_view(self): self.set_active_menu("assistants") else: self.set_active_menu("projects") - project_details = {} + if project_id is not None: - project_found = False - for project in self.user_projects: - if project["project_id"] == project_id: - project_found = True - project_details = project - if not project_found: + if get_project_access_type(self.request, project_id, user_id, self.user.login) >= 4: raise HTTPNotFound + project_details = get_project_details(self.request, project_id) else: raise HTTPNotFound - if project_details["access_type"] >= 4: - raise HTTPNotFound - assistants, more = get_project_assistants(self.request, project_id) return { "assistants": assistants, @@ -65,21 +60,14 @@ def process_view(self): self.set_active_menu("assistants") else: self.set_active_menu("projects") - project_details = {} + if project_id is not None: - project_found = False - for project in self.user_projects: - if project["project_id"] == project_id: - project_found = True - project_details = project - if not project_found: + if get_project_access_type(self.request, project_id, user_id, self.user.login) >= 4: raise HTTPNotFound + project_details = get_project_details(self.request, project_id) else: raise HTTPNotFound - if project_details["access_type"] >= 4: - raise HTTPNotFound - if self.request.method == "POST": assistant_data = self.get_post_dict() if "coll_prjshare" in assistant_data.keys(): @@ -177,21 +165,14 @@ def process_view(self): self.set_active_menu("assistants") else: self.set_active_menu("projects") - project_details = {} + if project_id is not None: - project_found = False - for project in self.user_projects: - if project["project_id"] == project_id: - project_found = True - project_details = project - if not project_found: + if get_project_access_type(self.request, project_id, user_id, self.user.login) >= 4: raise HTTPNotFound + project_details = get_project_details(self.request, project_id) else: raise HTTPNotFound - if project_details["access_type"] >= 4: - raise HTTPNotFound - if self.request.method == "POST": assistant_data = self.get_post_dict() if "coll_prjshare" in assistant_data.keys(): @@ -257,21 +238,13 @@ def process_view(self): user_id = self.request.matchdict["userid"] project_code = self.request.matchdict["projcode"] project_id = get_project_id_from_name(self.request, user_id, project_code) - project_details = {} + if project_id is not None: - project_found = False - for project in self.user_projects: - if project["project_id"] == project_id: - project_found = True - project_details = project - if not project_found: + if get_project_access_type(self.request, project_id, user_id, self.user.login) >= 4: raise HTTPNotFound else: raise HTTPNotFound - if project_details["access_type"] >= 4: - raise HTTPNotFound - if self.request.method == "POST": self.returnRawViewResult = True assistant_id = self.request.matchdict["assistid"] @@ -322,21 +295,13 @@ def process_view(self): user_id = self.request.matchdict["userid"] project_code = self.request.matchdict["projcode"] project_id = get_project_id_from_name(self.request, user_id, project_code) - project_details = {} + if project_id is not None: - project_found = False - for project in self.user_projects: - if project["project_id"] == project_id: - project_found = True - project_details = project - if not project_found: + if get_project_access_type(self.request, project_id, user_id, self.user.login) >= 4: raise HTTPNotFound else: raise HTTPNotFound - if project_details["access_type"] >= 4: - raise HTTPNotFound - if self.request.method == "POST": self.returnRawViewResult = True assistant_data = self.get_post_dict() diff --git a/formshare/views/classes.py b/formshare/views/classes.py index e8fef90b0..e26e584cb 100644 --- a/formshare/views/classes.py +++ b/formshare/views/classes.py @@ -46,6 +46,7 @@ get_assistant_by_api_key, project_has_crowdsourcing, update_last_login, + get_project_access_type, ) log = logging.getLogger("formshare") @@ -588,22 +589,16 @@ def get_project_access_level(self): project_code = self.request.matchdict.get("projcode", None) if user_id is not None and project_code is not None: project_id = get_project_id_from_name(self.request, user_id, project_code) - project_details = {} if project_id is not None: - project_found = False - for project in self.user_projects: - if project["project_id"] == project_id: - project_found = True - project_details = project - if not project_found: - return 5 + if project_id is not None: + return get_project_access_type(self.request, project_id, user_id, self.user.login) + else: + raise HTTPNotFound else: return 5 else: return 5 - return project_details["access_type"] - class DashboardView(PrivateView): def __call__(self): From c75bf98ca49e4200b6228b4a73ba51512bfc5718 Mon Sep 17 00:00:00 2001 From: Carlos Quiros Date: Wed, 10 Aug 2022 16:33:43 -0400 Subject: [PATCH 015/246] Fix performance issues with big list of projects --- formshare/config/routes.py | 9 + formshare/plugins/utilities.py | 16 +- formshare/processes/db/project.py | 146 +++- formshare/templates/dashboard/index.jinja2 | 449 +++++----- .../dashboard/profile/profile.jinja2 | 71 ++ .../profile/snippets/about_tab.jinja2 | 10 +- .../profile/snippets/brdcrbs_profile.jinja2 | 4 - .../profile/snippets/profile_head.jinja2 | 4 +- .../profile/snippets/social_tab.jinja2 | 3 - .../projects/forms/form_details.jinja2 | 1 + .../dashboard/projects/project_details.jinja2 | 47 +- .../dashboard/projects/project_list.jinja2 | 41 +- .../projects/snippets/project_tab.jinja2 | 2 +- .../snippets/project_tab_user_content.jinja2 | 14 + .../dashboard/projects/user_projects.jinja2 | 3 + .../tests/steps/collaborator_projects.py | 3 +- formshare/tests/steps/partners.py | 8 + formshare/tests/steps/unauthorized_access.py | 18 +- formshare/views/assistant_groups.py | 52 +- formshare/views/assistants.py | 37 +- formshare/views/classes.py | 27 +- formshare/views/collaborators.py | 35 +- formshare/views/dashboard.py | 50 +- formshare/views/form.py | 773 ++++++++---------- formshare/views/products.py | 64 +- formshare/views/profile.py | 4 +- formshare/views/projects.py | 231 +++--- formshare/views/repository.py | 24 +- formshare/views/repository_dictionary.py | 38 +- formshare/views/repository_merge.py | 25 +- formshare/views/repository_submissions.py | 102 ++- formshare/views/testing.py | 19 +- 32 files changed, 1176 insertions(+), 1154 deletions(-) create mode 100644 formshare/templates/dashboard/projects/snippets/project_tab_user_content.jinja2 create mode 100644 formshare/templates/dashboard/projects/user_projects.jinja2 diff --git a/formshare/config/routes.py b/formshare/config/routes.py index 5cc9b8e82..aa5310d1e 100644 --- a/formshare/config/routes.py +++ b/formshare/config/routes.py @@ -329,6 +329,15 @@ def load_routes(config, settings): ) ) + routes.append( + add_route( + "user_projects", + "/user/{userid}/user_projects", + ProjectListView, + "dashboard/projects/user_projects.jinja2", + ) + ) + routes.append( add_route( "project_details", diff --git a/formshare/plugins/utilities.py b/formshare/plugins/utilities.py index f3892f04e..02e147151 100644 --- a/formshare/plugins/utilities.py +++ b/formshare/plugins/utilities.py @@ -13,7 +13,7 @@ get_project_details, get_form_data, get_project_owner, - get_project_access_type + get_project_access_type, ) from formshare.processes.settings.settings import ( store_settings, @@ -253,7 +253,12 @@ def process_view(self): form_id = self.request.matchdict["formid"] project_id = get_project_id_from_name(self.request, user_id, project_code) if project_id is not None: - if get_project_access_type(self.request, project_id, user_id, self.user.login) >= 4: + if ( + get_project_access_type( + self.request, project_id, user_id, self.user.login + ) + >= 4 + ): raise HTTPNotFound # Don't edit a public or a project that I am just a member else: raise HTTPNotFound @@ -288,7 +293,12 @@ def process_view(self): form_id = self.request.matchdict["formid"] project_id = get_project_id_from_name(self.request, user_id, project_code) if project_id is not None: - if get_project_access_type(self.request, project_id, user_id, self.user.login) >= 3: + if ( + get_project_access_type( + self.request, project_id, user_id, self.user.login + ) + >= 3 + ): raise HTTPNotFound # Don't edit a public or a project that I am just a member else: raise HTTPNotFound diff --git a/formshare/processes/db/project.py b/formshare/processes/db/project.py index 46bcac9ac..9821b3eb4 100644 --- a/formshare/processes/db/project.py +++ b/formshare/processes/db/project.py @@ -32,10 +32,12 @@ "remove_file_from_project", "get_project_code_from_id", "get_project_details", + "get_extended_project_details", "set_project_as_active", "get_project_owner", "get_project_access_type", "api_get_project_access_type", + "get_active_project_access_type", "get_owned_project", "get_number_of_case_creators", "get_number_of_case_creators_with_repository", @@ -44,6 +46,7 @@ "project_has_case_lookup_table", "invalid_aliases", "project_has_crowdsourcing", + "get_forms_number", ] log = logging.getLogger("formshare") @@ -1024,53 +1027,60 @@ def get_active_project(request, user): .first() ) mapped_data = map_from_schema(res) - user_projects = get_user_projects(request, user, user) - if res is not None: - for project in user_projects: - if project["project_id"] == mapped_data["project_id"]: - mapped_data["access_type"] = project["access_type"] - mapped_data["owner"] = project["owner"] - else: - if ( - len(user_projects) > 0 - ): # pragma: no cover . TODO: Monitor if error appears in logs - log.error("Possible unused code used. URL {}".format(request.url)) - last_project = ( - request.dbsession.query(Userproject) - .filter(Userproject.user_id == user) - .filter(Userproject.project_accepted == 1) - .order_by(Userproject.access_date.desc()) + if mapped_data: + if mapped_data["access_type"] == 1: + mapped_data["owner"] = user + return mapped_data + else: + res = ( + request.dbsession.query(Userproject.user_id) + .filter(Userproject.project_id == mapped_data["project_id"]) + .filter(Userproject.access_type == 1) .first() ) - if last_project is not None: - last_project_id = last_project.project_id - request.dbsession.query(Userproject).filter( - Userproject.user_id == user - ).filter(Userproject.project_id == last_project_id).update( - {"project_active": 1} + if res is not None: + mapped_data["owner"] = res.user_id + return mapped_data + else: + log.error( + "Project {} does not have an owner".format( + mapped_data["project_id"] + ) ) - try: - request.dbsession.flush() - except Exception as e: - request.dbsession.rollback() - log.error("Error {} while getting an active project".format(str(e))) - + return {} + else: + res = ( + request.dbsession.query(Project, Userproject) + .filter(Project.project_id == Userproject.project_id) + .filter(Userproject.user_id == user) + .filter(Userproject.project_accepted == 1) + .first() + ) + if res is not None: + mapped_data = map_from_schema(res) + if mapped_data["access_type"] == 1: + request.dbsession.query(Userproject).filter( + Userproject.project_id == mapped_data["project_id"] + ).filter(Userproject.user_id == user).update({"project_active": 1}) + mapped_data["owner"] = user + return mapped_data + else: res = ( - request.dbsession.query(Project, Userproject) - .filter(Project.project_id == Userproject.project_id) - .filter(Userproject.user_id == user) - .filter(Userproject.project_active == 1) - .filter(Userproject.project_accepted == 1) + request.dbsession.query(Userproject.user_id) + .filter(Userproject.project_id == mapped_data["project_id"]) + .filter(Userproject.access_type == 1) .first() ) - mapped_data = map_from_schema(res) if res is not None: - for project in user_projects: - if project["project_id"] == mapped_data["project_id"]: - mapped_data["access_type"] = project["access_type"] - mapped_data["owner"] = project["owner"] - - return mapped_data + request.dbsession.query(Userproject).filter( + Userproject.project_id == mapped_data["project_id"] + ).filter(Userproject.user_id == user).update({"project_active": 1}) + mapped_data["owner"] = res.user_id + return mapped_data + else: + return {} + else: + return {} def add_project(request, user, project_data): @@ -1298,12 +1308,53 @@ def get_project_details(request, project): mapped_data["owner"] = res.user_id else: log.error("Cannot find owner for project {}".format(project)) - mapped_data["owner"] = None + return {} return mapped_data else: return None +def get_extended_project_details(request, user, project_id): + res = ( + request.dbsession.query(Project) + .filter(Project.project_id == project_id) + .first() + ) + project = map_from_schema(res) + + submissions, last, by, form = get_dataset_stats_for_project( + request.registry.settings, project["project_id"] + ) + if last is not None: + project["last_submission"] = dateutil.parser.parse(last) + else: + project["last_submission"] = None + project["total_submissions"] = submissions + project["last_submission_by"] = by + project["last_submission_by_details"] = get_by_details( + request, user, project["project_id"], by + ) + project["last_submission_form"] = form + project["last_submission_form_details"] = get_form_data( + request, project["project_id"], form + ) + project["total_forms"] = get_forms_number(request, project["project_id"]) + project["owner"] = get_project_owner(request, project["project_id"]) + project["total_case_creators"] = get_number_of_case_creators( + request, project["project_id"] + ) + project[ + "total_case_creators_with_repository" + ] = get_number_of_case_creators_with_repository(request, project["project_id"]) + project["case_form"] = get_case_form(request, project["project_id"]) + project["case_schema"] = get_case_schema(request, project["project_id"]) + project["has_case_lookup_table"] = project_has_case_lookup_table( + request, project["project_id"] + ) + + return project + + def get_project_access_type(request, project_id, user_id, logged_user): if user_id == logged_user: return 1 @@ -1318,3 +1369,16 @@ def get_project_access_type(request, project_id, user_id, logged_user): if res is None: return 5 # Five is not access at all return res.access_type + + +def get_active_project_access_type(request, project_id, logged_user): + res = ( + request.dbsession.query(Userproject.access_type) + .filter(Userproject.project_id == project_id) + .filter(Userproject.user_id == logged_user) + .filter(Userproject.project_accepted == 1) + .first() + ) + if res is None: + return 5 # Five is not access at all + return res.access_type diff --git a/formshare/templates/dashboard/index.jinja2 b/formshare/templates/dashboard/index.jinja2 index db7e5ccc1..b2dedecd0 100644 --- a/formshare/templates/dashboard/index.jinja2 +++ b/formshare/templates/dashboard/index.jinja2 @@ -17,79 +17,51 @@ {% block css %} {{ super() }} - {% if viewingSelfAccount == False %} - {% cssresource request,'formshare','bsmarkdown' %} - {% else %} - {% cssresource request,'formshare','leaflet_beautify_marker_icon' %} - {% endif %} + {% cssresource request,'formshare','leaflet_beautify_marker_icon' %} {% endblock css %} {% block topScripts %} {{ super() }} - {% if viewingSelfAccount == False %} - {% jsresource request,'formshare','markdown' %} - {% jsresource request,'formshare','clipboard' %} - {% else %} - {% jsresource request,'formshare','tippy' %} - {% jsresource request,'formshare','leaflet_beautify_marker_icon' %} - {% endif %} + {% jsresource request,'formshare','tippy' %} + {% jsresource request,'formshare','leaflet_beautify_marker_icon' %} {% endblock topScripts %} {% block dashheader %} - {% if viewingSelfAccount %} - {% if userProjects|length > 0 %} -
- {% block project_list_section %} -
- {% if activeUser != None %} - {% if viewingSelfAccount %} -

{{ _('Welcome') }}

- {% else %} -

{{ _('You are viewing others account') }}

- {% endif %} - {% endif %} -

{{ _('Recent activity in project') }} "{{ activeProject.project_name }}" {% if selected_timezone == 'project' and timezone != 'UTC' %}UTC{{ request.h.get_timezone_offset(request,timezone) }}{% endif %}

- {{ form.display_errors(errors,true) }} - {% include 'dashboard/snippets/active_project_summary.jinja2' %} -
- {% endblock project_list_section %} -
- {% endif %} - {% endif %} -{% endblock %} -{% block maincontent %} - {% if viewingSelfAccount %} - {{ super() }} - {% else %} - {% include 'dashboard/profile/snippets/profile_head.jinja2' %} - {% include 'dashboard/profile/snippets/profile_details.jinja2' %} + {% if projectData %} +
+ {% block project_list_section %} +
+ {% if activeUser != None %} +

{{ _('Welcome') }}

+ {% endif %} +

{{ _('Recent activity in project') }} "{{ activeProject.project_name }}" {% if selected_timezone == 'project' and timezone != 'UTC' %}UTC{{ request.h.get_timezone_offset(request,timezone) }}{% endif %}

+ {{ form.display_errors(errors,true) }} + {% include 'dashboard/snippets/active_project_summary.jinja2' %} +
+ {% endblock project_list_section %} +
{% endif %} - -{% endblock maincontent %} +{% endblock %} {% block mainsection %} - {% if viewingSelfAccount %} - {% if userProjects|length > 0 %} -
-

{{ _('Account summary') }}

-
- {% include 'dashboard/snippets/account_summary.jinja2' %} - {% set upload_for_merging = false %} - {% set action_url = request.route_url('form_add',userid=activeProject.owner,projcode=activeProject.project_code,_query={'next': request.url}) %} - {% include 'dashboard/projects/forms/snippets/upload_form.jinja2' %} - {% else %} -
-

-

{{ _('It seems that you are new here!') }}

-
+ {% if projectData %} +
+

{{ _('Account summary') }}

+
+ {% include 'dashboard/snippets/account_summary.jinja2' %} + {% set upload_for_merging = false %} + {% set action_url = request.route_url('form_add',userid=activeProject.owner,projcode=activeProject.project_code,_query={'next': request.url}) %} + {% include 'dashboard/projects/forms/snippets/upload_form.jinja2' %} + {% else %} +
+

+

{{ _('It seems that you are new here!') }}

+
- -
+
- {% endif %} - {% else %} - {{ super() }} +
{% endif %} {% endblock mainsection %} @@ -138,100 +110,23 @@ {% block dashboad_extra_imports %} {% endblock dashboad_extra_imports %} - {% if viewingSelfAccount == False %} - - {% else %} - - {% endif %} + var group = new L.featureGroup(markers); + mymap.fitBounds(group.getBounds()); + }); + } + get_more(0,10000); + {% endblock dashboard_map_process %} + {% endif %} + }); + {% endblock scripts %} diff --git a/formshare/templates/dashboard/profile/profile.jinja2 b/formshare/templates/dashboard/profile/profile.jinja2 index ba7e8448a..610fe1b8b 100644 --- a/formshare/templates/dashboard/profile/profile.jinja2 +++ b/formshare/templates/dashboard/profile/profile.jinja2 @@ -32,6 +32,77 @@ {{ super() }} ") >= 0: + in_html = True + ignore_line = True + if a_line.find("\n' + + a_line + ) + if not ignore_line: + if in_html: + if a_line != "": + html_content = html_content + a_line + "\n" + else: + if a_line != "": + js_content = js_content + a_line + "\n" + + with open(js_file, "w") as jf: + jf.write(js_content) + response.body = html_content.encode() + + class ODKView(object): def __init__(self, request): self.request = request @@ -240,6 +294,8 @@ class ExceptionView(object): """ def __init__(self, request): + if request.registry.settings.get("secure.javascript", "false") == "true": + request.add_response_callback(resource_callback) self.request = request self._ = self.request.translate self.resultDict = {"errors": []} @@ -281,6 +337,8 @@ class PublicView(object): """ def __init__(self, request): + if request.registry.settings.get("secure.javascript", "false") == "true": + request.add_response_callback(resource_callback) self.request = request self._ = self.request.translate self.resultDict = {"errors": []} @@ -392,6 +450,8 @@ def remove_keys(obj, insecure_keys): class PrivateView(object): def __init__(self, request): + if request.registry.settings.get("secure.javascript", "false") == "true": + request.add_response_callback(resource_callback) self.request = request self.user = None self._ = self.request.translate @@ -804,6 +864,8 @@ def __call__(self): class AssistantView(object): def __init__(self, request): + if request.registry.settings.get("secure.javascript", "false") == "true": + request.add_response_callback(resource_callback) self.request = request self.projectID = "" self.project_has_crowdsourcing = False @@ -1105,6 +1167,8 @@ def add_error(self, message): class PartnerView(object): def __init__(self, request): + if request.registry.settings.get("secure.javascript", "false") == "true": + request.add_response_callback(resource_callback) self.request = request self.partner = None self._ = self.request.translate From 2bdcafed2739dea19bb1e9a664498d6b3c018d64 Mon Sep 17 00:00:00 2001 From: qlands Date: Tue, 7 Mar 2023 17:09:57 -0500 Subject: [PATCH 134/246] Fix IProject interface --- formshare/plugins/interfaces.py | 3 ++- formshare/views/projects.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/formshare/plugins/interfaces.py b/formshare/plugins/interfaces.py index 92f68581c..1f6666dfc 100644 --- a/formshare/plugins/interfaces.py +++ b/formshare/plugins/interfaces.py @@ -300,11 +300,12 @@ def before_editing_project(self, request, user, project, project_details): "before_editing_project must be implemented in subclasses" ) - def after_editing_project(self, request, user, project_data): + def after_editing_project(self, request, user, project_id, project_data): """ Called by FormShare so plugins can perform actions after editing a project :param request: ``pyramid.request`` object :param user: User owner of the project + :param project_id: Project ID :param project_data: project data :return: None """ diff --git a/formshare/views/projects.py b/formshare/views/projects.py index 4c491093d..a13eaff48 100644 --- a/formshare/views/projects.py +++ b/formshare/views/projects.py @@ -384,7 +384,7 @@ def process_view(self): feed_manager.add_activity_feed(activity) for plugin in p.PluginImplementations(p.IProject): plugin.after_editing_project( - self.request, user_id, project_details + self.request, user_id, project_id, project_details ) self.request.session.flash( self._("The project has been modified") From cd65b9c5797522087e957bbbcfcbd59c396e95f1 Mon Sep 17 00:00:00 2001 From: qlands Date: Tue, 7 Mar 2023 19:58:50 -0500 Subject: [PATCH 135/246] Move plugin call to the end --- formshare/products/repository/celery_task.py | 52 ++++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/formshare/products/repository/celery_task.py b/formshare/products/repository/celery_task.py index c6df144b0..9511f08b1 100644 --- a/formshare/products/repository/celery_task.py +++ b/formshare/products/repository/celery_task.py @@ -433,32 +433,6 @@ def internal_create_mysql_repository( ) raise BuildDataBaseError(str(e)) - try: - for plugin in p.PluginImplementations(p.IRepositoryProcess): # pragma: no cover - plugin.after_creating_repository( - settings, - user, - project_id, - form, - cnf_file, - create_file, - insert_file, - schema, - log, - ) - except Exception as e: - log.error("Repository Plugin Error: {}".format(str(e))) - email_from = settings.get("mail.from", None) - email_to = settings.get("mail.error", None) - send_async_email( - settings, - email_from, - email_to, - "Repository Plugin Error: {}".format(str(e)), - None, - locale, - ) - engine = get_engine(settings) session_factory = get_session_factory(engine) @@ -560,6 +534,32 @@ def internal_create_mysql_repository( locale, ) + try: + for plugin in p.PluginImplementations(p.IRepositoryProcess): # pragma: no cover + plugin.after_creating_repository( + settings, + user, + project_id, + form, + cnf_file, + create_file, + insert_file, + schema, + log, + ) + except Exception as e: + log.error("Repository Plugin Error: {}".format(str(e))) + email_from = settings.get("mail.from", None) + email_to = settings.get("mail.error", None) + send_async_email( + settings, + email_from, + email_to, + "Repository Plugin Error: {}".format(str(e)), + None, + locale, + ) + @celeryApp.task(bind=True, base=CeleryTask) def create_mysql_repository( From 4fcb1bf40e8b1257aefbabfb053082523c1f7453 Mon Sep 17 00:00:00 2001 From: qlands Date: Mon, 27 Mar 2023 08:10:24 -0400 Subject: [PATCH 136/246] Update ODK Tools --- docker_compose/docker-compose.yml | 1 + docker_files/formshare/build_ci.sh | 2 +- docker_files/formshare/build_odktools.sh | 2 +- docker_files/formshare/master.Dockerfile | 2 +- docker_files/formshare/odktools.Dockerfile | 2 +- docker_files/formshare/stable.Dockerfile | 2 +- requirements.txt | 2 +- 7 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docker_compose/docker-compose.yml b/docker_compose/docker-compose.yml index d6f9e3c8b..cc6e90a8b 100644 --- a/docker_compose/docker-compose.yml +++ b/docker_compose/docker-compose.yml @@ -10,6 +10,7 @@ services: MYSQL_ROOT_PASSWORD: my_secure_password volumes: - /opt/formshare/mysql:/var/lib/mysql + - /opt/formshare/mysql/mysql-files:/var/lib/mysql-files networks: fsnet: ipv4_address: 172.28.1.5 diff --git a/docker_files/formshare/build_ci.sh b/docker_files/formshare/build_ci.sh index 8452bad1f..b134d39c2 100755 --- a/docker_files/formshare/build_ci.sh +++ b/docker_files/formshare/build_ci.sh @@ -1 +1 @@ -sudo docker build --no-cache --rm -t qlands/odktools_circleci:20230217 -f ./circleci.Dockerfile . \ No newline at end of file +sudo docker build --no-cache --rm -t qlands/odktools_circleci:20230326 -f ./circleci.Dockerfile . \ No newline at end of file diff --git a/docker_files/formshare/build_odktools.sh b/docker_files/formshare/build_odktools.sh index 926faa535..53a2fba67 100755 --- a/docker_files/formshare/build_odktools.sh +++ b/docker_files/formshare/build_odktools.sh @@ -1 +1 @@ -sudo docker build --no-cache --rm -t qlands/odktools:20230128 -f ./odktools.Dockerfile . \ No newline at end of file +sudo docker build --no-cache --rm -t qlands/odktools:20230326 -f ./odktools.Dockerfile . \ No newline at end of file diff --git a/docker_files/formshare/master.Dockerfile b/docker_files/formshare/master.Dockerfile index eaa1b43ed..b63fe4733 100644 --- a/docker_files/formshare/master.Dockerfile +++ b/docker_files/formshare/master.Dockerfile @@ -1,4 +1,4 @@ -FROM qlands/odktools:20221218 +FROM qlands/odktools:20230326 MAINTAINER QLands Technology Consultants diff --git a/docker_files/formshare/odktools.Dockerfile b/docker_files/formshare/odktools.Dockerfile index 1c435d3c0..bea79b98d 100644 --- a/docker_files/formshare/odktools.Dockerfile +++ b/docker_files/formshare/odktools.Dockerfile @@ -37,7 +37,7 @@ RUN cp csv2xlsx /bin WORKDIR /opt RUN mkdir odktools-deps -RUN git clone https://github.com/qlands/odktools.git -b stable-2.1 +RUN git clone https://github.com/qlands/odktools.git -b stable-2.2 WORKDIR /opt/odktools-deps RUN wget https://github.com/mongodb/mongo-c-driver/releases/download/1.21.1/mongo-c-driver-1.21.1.tar.gz diff --git a/docker_files/formshare/stable.Dockerfile b/docker_files/formshare/stable.Dockerfile index 336af90ea..01198697e 100644 --- a/docker_files/formshare/stable.Dockerfile +++ b/docker_files/formshare/stable.Dockerfile @@ -1,4 +1,4 @@ -FROM qlands/odktools:20230128 +FROM qlands/odktools:20230326 MAINTAINER QLands Technology Consultants diff --git a/requirements.txt b/requirements.txt index 02b243df9..c03565cea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -26,7 +26,7 @@ click-plugins==1.1.1 click-repl==0.2.0 cookiecutter==2.1.1 coverage==6.5.0 -cryptography==38.0.3 +cryptography==39.0.1 decorator==5.1.1 defusedxml==0.7.1 Deprecated==1.2.13 From 772f841cdf56b06dee8c0165fa6396a34ceb46fe Mon Sep 17 00:00:00 2001 From: qlands Date: Wed, 29 Mar 2023 12:44:58 -0400 Subject: [PATCH 137/246] Allow fast membership of assistants into groups --- .circleci/config.yml | 2 +- formshare/config/mainresources.py | 3 + .../jsandcss/css/plugins/iCheck/custom.css | 59 ++++++ .../jsandcss/css/plugins/iCheck/green.png | Bin 0 -> 5064 bytes .../jsandcss/css/plugins/iCheck/green@2x.png | Bin 0 -> 7708 bytes .../jsandcss/js/plugins/iCheck/icheck.min.js | 11 ++ formshare/processes/db/assistant.py | 4 + formshare/processes/db/assistant_group.py | 5 +- formshare/processes/db/form.py | 3 +- formshare/processes/odk/api.py | 3 +- .../members/member_list.jinja2 | 171 +++++++++++++++--- .../members/snippets/member_item.jinja2 | 2 +- .../projects/assistants/assistant_list.jinja2 | 5 +- .../projects/forms/form_details.jinja2 | 6 +- .../dashboard/snippets/footer.jinja2 | 2 +- formshare/templates/generic/login.jinja2 | 2 +- .../templates/landing/snippets/contact.jinja2 | 2 +- formshare/tests/steps/assistant_groups.py | 28 ++- formshare/tests/steps/case_management.py | 12 ++ formshare/tests/steps/clean_interface.py | 14 ++ formshare/tests/steps/form_merge_mimic_2.py | 17 +- formshare/tests/steps/forms.py | 13 ++ formshare/tests/steps/group_assistant.py | 3 +- formshare/tests/steps/json_logs_2.py | 29 +-- formshare/tests/steps/repository.py | 3 +- formshare/tests/steps/unauthorized_access.py | 4 +- formshare/views/assistant_groups.py | 59 +++--- formshare/views/form.py | 52 +++++- 28 files changed, 410 insertions(+), 104 deletions(-) create mode 100644 formshare/jsandcss/css/plugins/iCheck/custom.css create mode 100644 formshare/jsandcss/css/plugins/iCheck/green.png create mode 100644 formshare/jsandcss/css/plugins/iCheck/green@2x.png create mode 100644 formshare/jsandcss/js/plugins/iCheck/icheck.min.js diff --git a/.circleci/config.yml b/.circleci/config.yml index 974ebc480..b140cfaa6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: py-3.10: &build-template docker: - - image: qlands/odktools_circleci:20230217 + - image: qlands/odktools_circleci:20230326 - image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 environment: - bootstrap.memory_lock=true diff --git a/formshare/config/mainresources.py b/formshare/config/mainresources.py index 98058b5cd..f2aa2fbb7 100644 --- a/formshare/config/mainresources.py +++ b/formshare/config/mainresources.py @@ -207,6 +207,9 @@ def create_resources(apppath, config): ) r.add_js_resource("formshare", "md5", "js/plugins/md5/jquery.md5.js", None) + r.add_js_resource("formshare", "icheck", "js/plugins/iCheck/icheck.min.js", None) + r.add_css_resource("formshare", "icheck", "css/plugins/iCheck/custom.css", None) + # --------------------------------------JSON--------------------------- r.add_css_resource( "formshare", "simplemde", "js/plugins/simplemde/simplemde.min.css", "bootstrap" diff --git a/formshare/jsandcss/css/plugins/iCheck/custom.css b/formshare/jsandcss/css/plugins/iCheck/custom.css new file mode 100644 index 000000000..bddfe9b3c --- /dev/null +++ b/formshare/jsandcss/css/plugins/iCheck/custom.css @@ -0,0 +1,59 @@ +/* iCheck plugin Square skin, green +----------------------------------- */ +.icheckbox_square-green, +.iradio_square-green { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 22px; + height: 22px; + background: url(green.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_square-green { + background-position: 0 0; +} +.icheckbox_square-green.hover { + background-position: -24px 0; +} +.icheckbox_square-green.checked { + background-position: -48px 0; +} +.icheckbox_square-green.disabled { + background-position: -72px 0; + cursor: default; +} +.icheckbox_square-green.checked.disabled { + background-position: -96px 0; +} + +.iradio_square-green { + background-position: -120px 0; +} +.iradio_square-green.hover { + background-position: -144px 0; +} +.iradio_square-green.checked { + background-position: -168px 0; +} +.iradio_square-green.disabled { + background-position: -192px 0; + cursor: default; +} +.iradio_square-green.checked.disabled { + background-position: -216px 0; +} + +/* HiDPI support */ +@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { + .icheckbox_square-green, + .iradio_square-green { + background-image: url(green@2x.png); + -webkit-background-size: 240px 24px; + background-size: 240px 24px; + } +} \ No newline at end of file diff --git a/formshare/jsandcss/css/plugins/iCheck/green.png b/formshare/jsandcss/css/plugins/iCheck/green.png new file mode 100644 index 0000000000000000000000000000000000000000..57fc599275b31237e71fbcac924f1aef9affe311 GIT binary patch literal 5064 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 eWo-!C{{{excllTEPBS(D0000W literal 0 HcmV?d00001 diff --git a/formshare/jsandcss/css/plugins/iCheck/green@2x.png b/formshare/jsandcss/css/plugins/iCheck/green@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3bda5beb69adf499b384073430434a4ce6c2f23a GIT binary patch literal 7708 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 literal 0 HcmV?d00001 diff --git a/formshare/jsandcss/js/plugins/iCheck/icheck.min.js b/formshare/jsandcss/js/plugins/iCheck/icheck.min.js new file mode 100644 index 000000000..9b826fb7e --- /dev/null +++ b/formshare/jsandcss/js/plugins/iCheck/icheck.min.js @@ -0,0 +1,11 @@ +/*! iCheck v1.0.2 by Damir Sultanov, http://git.io/arlzeA, MIT Licensed */ +(function(f){function A(a,b,d){var c=a[0],g=/er/.test(d)?_indeterminate:/bl/.test(d)?n:k,e=d==_update?{checked:c[k],disabled:c[n],indeterminate:"true"==a.attr(_indeterminate)||"false"==a.attr(_determinate)}:c[g];if(/^(ch|di|in)/.test(d)&&!e)x(a,g);else if(/^(un|en|de)/.test(d)&&e)q(a,g);else if(d==_update)for(var f in e)e[f]?x(a,f,!0):q(a,f,!0);else if(!b||"toggle"==d){if(!b)a[_callback]("ifClicked");e?c[_type]!==r&&q(a,g):x(a,g)}}function x(a,b,d){var c=a[0],g=a.parent(),e=b==k,u=b==_indeterminate, + v=b==n,s=u?_determinate:e?y:"enabled",F=l(a,s+t(c[_type])),B=l(a,b+t(c[_type]));if(!0!==c[b]){if(!d&&b==k&&c[_type]==r&&c.name){var w=a.closest("form"),p='input[name="'+c.name+'"]',p=w.length?w.find(p):f(p);p.each(function(){this!==c&&f(this).data(m)&&q(f(this),b)})}u?(c[b]=!0,c[k]&&q(a,k,"force")):(d||(c[b]=!0),e&&c[_indeterminate]&&q(a,_indeterminate,!1));D(a,e,b,d)}c[n]&&l(a,_cursor,!0)&&g.find("."+C).css(_cursor,"default");g[_add](B||l(a,b)||"");g.attr("role")&&!u&&g.attr("aria-"+(v?n:k),"true"); + g[_remove](F||l(a,s)||"")}function q(a,b,d){var c=a[0],g=a.parent(),e=b==k,f=b==_indeterminate,m=b==n,s=f?_determinate:e?y:"enabled",q=l(a,s+t(c[_type])),r=l(a,b+t(c[_type]));if(!1!==c[b]){if(f||!d||"force"==d)c[b]=!1;D(a,e,s,d)}!c[n]&&l(a,_cursor,!0)&&g.find("."+C).css(_cursor,"pointer");g[_remove](r||l(a,b)||"");g.attr("role")&&!f&&g.attr("aria-"+(m?n:k),"false");g[_add](q||l(a,s)||"")}function E(a,b){if(a.data(m)){a.parent().html(a.attr("style",a.data(m).s||""));if(b)a[_callback](b);a.off(".i").unwrap(); + f(_label+'[for="'+a[0].id+'"]').add(a.closest(_label)).off(".i")}}function l(a,b,f){if(a.data(m))return a.data(m).o[b+(f?"":"Class")]}function t(a){return a.charAt(0).toUpperCase()+a.slice(1)}function D(a,b,f,c){if(!c){if(b)a[_callback]("ifToggled");a[_callback]("ifChanged")[_callback]("if"+t(f))}}var m="iCheck",C=m+"-helper",r="radio",k="checked",y="un"+k,n="disabled";_determinate="determinate";_indeterminate="in"+_determinate;_update="update";_type="type";_click="click";_touch="touchbegin.i touchend.i"; + _add="addClass";_remove="removeClass";_callback="trigger";_label="label";_cursor="cursor";_mobile=/ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i.test(navigator.userAgent);f.fn[m]=function(a,b){var d='input[type="checkbox"], input[type="'+r+'"]',c=f(),g=function(a){a.each(function(){var a=f(this);c=a.is(d)?c.add(a):c.add(a.find(d))})};if(/^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i.test(a))return a=a.toLowerCase(),g(this),c.each(function(){var c= + f(this);"destroy"==a?E(c,"ifDestroyed"):A(c,!0,a);f.isFunction(b)&&b()});if("object"!=typeof a&&a)return this;var e=f.extend({checkedClass:k,disabledClass:n,indeterminateClass:_indeterminate,labelHover:!0},a),l=e.handle,v=e.hoverClass||"hover",s=e.focusClass||"focus",t=e.activeClass||"active",B=!!e.labelHover,w=e.labelHoverClass||"hover",p=(""+e.increaseArea).replace("%","")|0;if("checkbox"==l||l==r)d='input[type="'+l+'"]';-50>p&&(p=-50);g(this);return c.each(function(){var a=f(this);E(a);var c=this, + b=c.id,g=-p+"%",d=100+2*p+"%",d={position:"absolute",top:g,left:g,display:"block",width:d,height:d,margin:0,padding:0,background:"#fff",border:0,opacity:0},g=_mobile?{position:"absolute",visibility:"hidden"}:p?d:{position:"absolute",opacity:0},l="checkbox"==c[_type]?e.checkboxClass||"icheckbox":e.radioClass||"i"+r,z=f(_label+'[for="'+b+'"]').add(a.closest(_label)),u=!!e.aria,y=m+"-"+Math.random().toString(36).substr(2,6),h='
")[_callback]("ifCreated").parent().append(e.insert);d=f('').css(d).appendTo(h);a.data(m,{o:e,s:a.attr("style")}).css(g);e.inheritClass&&h[_add](c.className||"");e.inheritID&&b&&h.attr("id",m+"-"+b);"static"==h.css("position")&&h.css("position","relative");A(a,!0,_update);if(z.length)z.on(_click+".i mouseover.i mouseout.i "+_touch,function(b){var d=b[_type],e=f(this);if(!c[n]){if(d==_click){if(f(b.target).is("a"))return; + A(a,!1,!0)}else B&&(/ut|nd/.test(d)?(h[_remove](v),e[_remove](w)):(h[_add](v),e[_add](w)));if(_mobile)b.stopPropagation();else return!1}});a.on(_click+".i focus.i blur.i keyup.i keydown.i keypress.i",function(b){var d=b[_type];b=b.keyCode;if(d==_click)return!1;if("keydown"==d&&32==b)return c[_type]==r&&c[k]||(c[k]?q(a,k):x(a,k)),!1;if("keyup"==d&&c[_type]==r)!c[k]&&x(a,k);else if(/us|ur/.test(d))h["blur"==d?_remove:_add](s)});d.on(_click+" mousedown mouseup mouseover mouseout "+_touch,function(b){var d= + b[_type],e=/wn|up/.test(d)?t:v;if(!c[n]){if(d==_click)A(a,!1,!0);else{if(/wn|er|in/.test(d))h[_add](e);else h[_remove](e+" "+t);if(z.length&&B&&e==v)z[/ut|nd/.test(d)?_remove:_add](w)}if(_mobile)b.stopPropagation();else return!1}})})}})(window.jQuery||window.Zepto); diff --git a/formshare/processes/db/assistant.py b/formshare/processes/db/assistant.py index 6a403ca72..076e61a27 100644 --- a/formshare/processes/db/assistant.py +++ b/formshare/processes/db/assistant.py @@ -199,7 +199,9 @@ def get_all_assistants(request, project_user, project_id): assistants[index]["assistants"].append( { "code": item["project_id"] + "|" + item["coll_id"], + "id": item["coll_id"], "name": item["coll_name"], + "used": False, } ) else: @@ -210,7 +212,9 @@ def get_all_assistants(request, project_user, project_id): "assistants": [ { "code": item["project_id"] + "|" + item["coll_id"], + "id": item["coll_id"], "name": item["coll_name"], + "used": False, } ], } diff --git a/formshare/processes/db/assistant_group.py b/formshare/processes/db/assistant_group.py index e1edb0bc8..99054f196 100644 --- a/formshare/processes/db/assistant_group.py +++ b/formshare/processes/db/assistant_group.py @@ -6,6 +6,7 @@ Collgroup, Collingroup, Collaborator, + Project, map_from_schema, map_to_schema, ) @@ -27,9 +28,10 @@ def get_members(request, project, group): res = ( - request.dbsession.query(Collaborator, Collingroup) + request.dbsession.query(Collaborator, Collingroup, Project) .filter(Collaborator.project_id == Collingroup.enum_project) .filter(Collaborator.coll_id == Collingroup.coll_id) + .filter(Collingroup.enum_project == Project.project_id) .filter(Collingroup.project_id == project) .filter(Collingroup.group_id == group) .all() @@ -180,7 +182,6 @@ def add_assistant_to_group(request, project, group, assistant_project, assistant request.dbsession.flush() return True, "" except IntegrityError: - request.dbsession.rollback() log.error( "The group member {} already exists in group {} of project {}".format( assistant, group, project diff --git a/formshare/processes/db/form.py b/formshare/processes/db/form.py index 4b583cdc9..622069b58 100644 --- a/formshare/processes/db/form.py +++ b/formshare/processes/db/form.py @@ -1011,7 +1011,6 @@ def get_assistant_forms(request, requested_project, assistant_project, assistant .filter(Collingroup.coll_id == assistant) .all() ) - for group in groups: res = ( request.dbsession.query(Odkform) @@ -1019,7 +1018,7 @@ def get_assistant_forms(request, requested_project, assistant_project, assistant .filter(Odkform.form_id == Formgrpacces.form_id) .filter(Formgrpacces.project_id == group.project_id) .filter(Formgrpacces.group_id == group.group_id) - .filter(Formgrpacces.group_can_clean == 1) + .filter(Formgrpacces.group_can_submit == 1) .filter(Odkform.form_accsub == 1) .all() ) diff --git a/formshare/processes/odk/api.py b/formshare/processes/odk/api.py index 1857a0183..2b89036ff 100644 --- a/formshare/processes/odk/api.py +++ b/formshare/processes/odk/api.py @@ -580,7 +580,8 @@ def check_jxform_file( message = _( "The variable to control duplicate submissions has an invalid type. " "E.g., the variable cannot be note, picture, video, sound, select_multiple, or geospatial. " - "The most appropriate types are text, datetime, barcode, calculate, select_one, or integer" + "It cannot be instanceID. The most appropriate types are text, datetime, barcode, calculate, " + "select_one, or integer" ) return 17, message diff --git a/formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2 b/formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2 index 08c04fa5e..8ad9f771c 100644 --- a/formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2 +++ b/formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2 @@ -77,44 +77,173 @@
- +{# #} + {% if projectDetails.access_type < 4 %} + {% include 'dashboard/projects/assistants/snippets/add_assistant_menu.jinja2' %} + {% endif %}
{% endblock assistant_list_heading %} @@ -135,53 +144,82 @@ + {% if projectDetails.access_type < 4 %} + {% include 'dashboard/projects/assistants/snippets/upload_file.jinja2' %} + {% endif %} {% endblock maincontent %} {% block scripts %} {{ super() }} diff --git a/formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2 b/formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2 new file mode 100644 index 000000000..3157ed76f --- /dev/null +++ b/formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2 @@ -0,0 +1,16 @@ + \ No newline at end of file diff --git a/formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2 b/formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2 index b8623c362..d6474f22a 100644 --- a/formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2 +++ b/formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2 @@ -34,11 +34,13 @@ {% endblock assistant_item_badges %} {% block assistant_item_actions %} {% endblock assistant_item_actions %} {% endblock assistant_item_data %} diff --git a/formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2 b/formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2 new file mode 100644 index 000000000..1a08313a5 --- /dev/null +++ b/formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2 @@ -0,0 +1,31 @@ + \ No newline at end of file diff --git a/formshare/templates/dashboard/snippets/navbar.jinja2 b/formshare/templates/dashboard/snippets/navbar.jinja2 index ba0e1adb3..bfdbd80af 100644 --- a/formshare/templates/dashboard/snippets/navbar.jinja2 +++ b/formshare/templates/dashboard/snippets/navbar.jinja2 @@ -70,7 +70,7 @@ - {% if activeProject.access_type < 4 %} + {% if activeProject.access_type <= 4 %} {% if activeProject.access_type <= 2 %}
  • {{ _('Collaborators') }} diff --git a/formshare/tests/steps/assistants.py b/formshare/tests/steps/assistants.py index f33b1e7c2..b8dca9311 100644 --- a/formshare/tests/steps/assistants.py +++ b/formshare/tests/steps/assistants.py @@ -19,6 +19,16 @@ def t_e_s_t_assistants(test_object): ) assert "FS_error" in res.headers + # Add an assistant fail. The assistant in empty + res = test_object.testapp.post( + "/user/{}/project/{}/assistants/add".format( + test_object.randonLogin, test_object.project + ), + {"coll_id": "some", "coll_name": ""}, + status=200, + ) + assert "FS_error" in res.headers + # Add an assistant fail. The assistant is invalid res = test_object.testapp.post( "/user/{}/project/{}/assistants/add".format( @@ -67,6 +77,14 @@ def t_e_s_t_assistants(test_object): status=404, ) + # Download a CSV of a project that does not exist + test_object.testapp.get( + "/user/{}/project/{}/assistants/downloadcsv".format( + test_object.randonLogin, "Not exist" + ), + status=404, + ) + # Add an assistant succeed test_object.assistantLogin = "assistant001" test_object.assistantLogin2 = "assistant002" diff --git a/formshare/tests/steps/unauthorized_access.py b/formshare/tests/steps/unauthorized_access.py index 624c0d152..392fde3c0 100644 --- a/formshare/tests/steps/unauthorized_access.py +++ b/formshare/tests/steps/unauthorized_access.py @@ -653,6 +653,14 @@ def t_e_s_t_unauthorized_access(test_object): status=404, ) + # The user don't have access to download CSV + test_object.testapp.get( + "/user/{}/project/{}/assistants/downloadcsv".format( + test_object.randonLogin, test_object.project + ), + status=404, + ) + # 404 cannot access the project test_object.testapp.get( "/user/{}/project/{}/assistant/{}/edit".format( @@ -1434,13 +1442,23 @@ def t_e_s_t_unauthorized_access(test_object): status=404, ) - # The user don have credentials for looking at assistants - test_object.testapp.get( + # The user has readonly access assistants + res = test_object.testapp.get( "/user/{}/project/{}/assistants".format( test_object.randonLogin, test_object.project ), - status=404, + status=200, + ) + test_object.root.assertFalse(b"remove_assistant" in res.body) + + # The user don't have access to such project + res = test_object.testapp.get( + "/user/{}/project/{}/groups".format( + test_object.randonLogin, test_object.project + ), + status=200, ) + test_object.root.assertFalse(b"Add group" in res.body) # 404 Not credentials to add test_object.testapp.post( diff --git a/formshare/views/assistant_groups.py b/formshare/views/assistant_groups.py index 56fa598b0..64e68295c 100644 --- a/formshare/views/assistant_groups.py +++ b/formshare/views/assistant_groups.py @@ -34,14 +34,13 @@ def process_view(self): self.set_active_menu("projects") if project_id is not None: - if ( - get_project_access_type( - self.request, project_id, user_id, self.user.login - ) - > 4 - ): + access_type = get_project_access_type( + self.request, project_id, user_id, self.user.login + ) + if access_type > 4: raise HTTPNotFound project_details = get_project_details(self.request, project_id) + project_details["access_type"] = access_type else: raise HTTPNotFound @@ -228,14 +227,13 @@ def process_view(self): self.set_active_menu("projects") if project_id is not None: - if ( - get_project_access_type( - self.request, project_id, user_id, self.user.login - ) - > 4 - ): + access_type = get_project_access_type( + self.request, project_id, user_id, self.user.login + ) + if access_type > 4: raise HTTPNotFound project_details = get_project_details(self.request, project_id) + project_details["access_type"] = access_type else: raise HTTPNotFound diff --git a/formshare/views/assistants.py b/formshare/views/assistants.py index a2917c187..2b081dda1 100644 --- a/formshare/views/assistants.py +++ b/formshare/views/assistants.py @@ -1,6 +1,13 @@ +import os import re - +import uuid +import logging +import pandas as pd +from pyramid.httpexceptions import HTTPFound, HTTPNotFound +from pyramid.response import FileResponse +import shutil import formshare.plugins as p +import validators from formshare.processes.db import ( get_project_assistants, get_project_id_from_name, @@ -12,9 +19,12 @@ get_timezones, get_project_details, get_project_access_type, + assistant_exist, ) from formshare.views.classes import PrivateView -from pyramid.httpexceptions import HTTPFound, HTTPNotFound +from sqlalchemy.exc import IntegrityError + +log = logging.getLogger("formshare") class AssistantsListView(PrivateView): @@ -32,14 +42,13 @@ def process_view(self): self.set_active_menu("projects") if project_id is not None: - if ( - get_project_access_type( - self.request, project_id, user_id, self.user.login - ) - >= 4 - ): + access_type = get_project_access_type( + self.request, project_id, user_id, self.user.login + ) + if access_type > 4: raise HTTPNotFound project_details = get_project_details(self.request, project_id) + project_details["access_type"] = access_type else: raise HTTPNotFound @@ -84,75 +93,89 @@ def process_view(self): else: assistant_data["coll_prjshare"] = 0 - if assistant_data["coll_id"] != "": - if re.match(r"^[A-Za-z0-9._]+$", assistant_data["coll_id"]): - if ( - assistant_data["coll_password"] - == assistant_data["coll_password2"] - ): - assistant_data.pop("coll_password2") - if assistant_data["coll_password"] != "": - continue_creation = True - for plugin in p.PluginImplementations(p.IAssistant): + if assistant_data["coll_id"].strip() != "": + if assistant_data["coll_name"].strip() != "": + if re.match(r"^[A-Za-z0-9_]+$", assistant_data["coll_id"]): + if ( + assistant_data["coll_password"] + == assistant_data["coll_password2"] + ): + assistant_data.pop("coll_password2") + if assistant_data["coll_password"] != "": + continue_creation = True + for plugin in p.PluginImplementations(p.IAssistant): + if continue_creation: + ( + data, + continue_creation, + error_message, + ) = plugin.before_creating_assistant( + self.request, + user_id, + project_id, + assistant_data, + ) + if not continue_creation: + self.append_to_errors(error_message) + else: + assistant_data = data if continue_creation: - ( - data, - continue_creation, - error_message, - ) = plugin.before_creating_assistant( + next_page = self.request.params.get( + "next" + ) or self.request.route_url( + "assistants", + userid=user_id, + projcode=project_code, + ) + added, message = add_assistant( self.request, user_id, project_id, assistant_data, ) - if not continue_creation: - self.append_to_errors(error_message) + if added: + for plugin in p.PluginImplementations( + p.IAssistant + ): + plugin.after_creating_assistant( + self.request, + user_id, + project_id, + assistant_data, + ) + + self.request.session.flash( + self._( + "The assistant was added to this project" + ) + ) + self.returnRawViewResult = True + return HTTPFound(next_page) else: - assistant_data = data - if continue_creation: - next_page = self.request.params.get( - "next" - ) or self.request.route_url( - "assistants", userid=user_id, projcode=project_code + self.append_to_errors(message) + else: + self.append_to_errors( + self._("The password cannot be empty") ) - added, message = add_assistant( - self.request, user_id, project_id, assistant_data - ) - if added: - for plugin in p.PluginImplementations(p.IAssistant): - plugin.after_creating_assistant( - self.request, - user_id, - project_id, - assistant_data, - ) - - self.request.session.flash( - self._( - "The assistant was added to this project" - ) - ) - self.returnRawViewResult = True - return HTTPFound(next_page) - else: - self.append_to_errors(message) else: self.append_to_errors( - self._("The password cannot be empty") + self._( + "The password and its confirmation are not the same" + ) ) else: self.append_to_errors( - self._("The password and its confirmation are not the same") + self._( + "The assistant id has invalid characters. Only underscore " + "is allowed" + ) ) else: self.append_to_errors( - self._( - "The user id has invalid characters. Only underscore " - "and dot are allowed" - ) + self._("You need to specify an assistant name") ) else: - self.append_to_errors(self._("You need to specify a user id")) + self.append_to_errors(self._("You need to specify an assistant id")) else: assistant_data = {} return { @@ -421,3 +444,267 @@ def process_view(self): else: raise HTTPNotFound + + +class DownloadCSVTemplate(PrivateView): + def __init__(self, request): + PrivateView.__init__(self, request) + self.privateOnly = True + + def process_view(self): + user_id = self.request.matchdict["userid"] + project_code = self.request.matchdict["projcode"] + project_id = get_project_id_from_name(self.request, user_id, project_code) + if self.activeProject.get("project_id", None) == project_id: + self.set_active_menu("assistants") + else: + self.set_active_menu("projects") + + if project_id is not None: + if ( + get_project_access_type( + self.request, project_id, user_id, self.user.login + ) + >= 4 + ): + raise HTTPNotFound + project_details = get_project_details(self.request, project_id) + else: + raise HTTPNotFound + + if project_details["project_case"] == 0: + raise HTTPNotFound + + csv_array = [ + { + "coll_id": "required, unique and no special characters besides underscore (_)", + "coll_name": "required", + "coll_password": "required", + "coll_email": "optional", + "coll_telephone": "optional", + } + ] + for row in range(2): + data = { + "coll_id": "collaborator_id_{}".format(row + 1), + "coll_name": "Assistant number {}".format(row + 1), + "coll_password": "Password for assistant number {}".format(row + 1), + "coll_email": "", + "coll_telephone": "", + } + csv_array.append(data) + df = pd.DataFrame.from_dict(csv_array) + + repository_path = self.request.registry.settings["repository.path"] + if not os.path.exists(repository_path): + os.makedirs(repository_path) + unique_id = str(uuid.uuid4()) + csv_file = os.path.join(repository_path, *["tmp", unique_id + ".csv"]) + df.to_csv(csv_file, index=False, header=True) + + response = FileResponse(csv_file, request=self.request, content_type="text/csv") + response.content_disposition = ( + 'attachment; filename="assistant_for_' + project_code + '.csv"' + ) + self.returnRawViewResult = True + return response + + +class UploadAssistantsCSV(PrivateView): + def __init__(self, request): + PrivateView.__init__(self, request) + self.privateOnly = True + self.checkCrossPost = False + + def process_view(self): + user_id = self.request.matchdict["userid"] + project_code = self.request.matchdict["projcode"] + project_id = get_project_id_from_name(self.request, user_id, project_code) + + if project_id is not None: + if ( + get_project_access_type( + self.request, project_id, user_id, self.user.login + ) + >= 4 + ): + raise HTTPNotFound + else: + raise HTTPNotFound + + if self.request.method == "POST": + input_file = self.request.POST["csv_file"].file + self.returnRawViewResult = True + next_page = self.request.route_url( + "assistants", userid=user_id, projcode=project_code + ) + error = False + message = "" + assistants = [] + try: + repository = self.request.registry.settings["repository.path"] + uid = str(uuid.uuid4()) + paths = ["tmp", uid + ".csv"] + temp_file = os.path.join(repository, *paths) + + input_file.seek(0) + with open(temp_file, "wb") as permanent_file: + shutil.copyfileobj(input_file, permanent_file) + df = pd.read_csv(temp_file, dtype=str, keep_default_na=False) + assistants = df.to_dict("records") + except Exception as e: + error = True + log.error( + "Error while uploading files into project {}. Error: {}".format( + project_id, str(e) + ) + ) + message = self._( + "Error {} encountered. A log entry has been produced".format( + type(e).__name__ + ) + ) + keys_are_correct = True + for an_assistant in assistants: + if "coll_id" not in an_assistant.keys(): + keys_are_correct = False + if "coll_name" not in an_assistant.keys(): + keys_are_correct = False + if "coll_password" not in an_assistant.keys(): + keys_are_correct = False + if not keys_are_correct: + error = True + message = ( + self._("The CSV must have the following columns:") + + " coll_id, coll_name, and coll_password" + ) + + for an_assistant in assistants: + if not re.match(r"^[A-Za-z0-9_]+$", an_assistant["coll_id"]): + error = True + message = self._( + 'The assistant with id = "{}" is invalid. Only _ is allowed'.format( + an_assistant["coll_id"] + ) + ) + break + if an_assistant["coll_name"].strip() == "": + error = True + message = self._( + "The assistant with id = {} has empty coll_name".format( + an_assistant["coll_id"] + ) + ) + break + if an_assistant["coll_password"].strip() == "": + error = True + message = self._( + "The assistant with id = {} has empty coll_password".format( + an_assistant["coll_id"] + ) + ) + break + if an_assistant.get("coll_email", "").strip() != "": + if not validators.email( + an_assistant.get("coll_email") + ) or not re.match( + r"^[A-Za-z0-9._@-]+$", an_assistant.get("coll_email") + ): + error = True + message = self._( + "The assistant with id = {} has an invalid email".format( + an_assistant["coll_id"] + ) + ) + break + if an_assistant.get("coll_telephone", "").strip() != "": + if not re.match(r"^[0-9+]+$", an_assistant.get("coll_telephone")): + error = True + message = self._( + "The assistant with id = {} has an invalid telephone".format( + an_assistant["coll_id"] + ) + ) + break + if assistant_exist(self.request, user_id, project_id, an_assistant): + error = True + message = self._( + "The assistant with id = {} is already part of your account. " + 'You do not need to duplicate assistants, just mark them as "Share among projects" to use ' + "them across projects.".format(an_assistant["coll_id"]) + ) + break + if not error: + all_in = [] + messages = [] + for an_assistant in assistants: + continue_creation = True + for plugin in p.PluginImplementations(p.IAssistant): + if continue_creation: + ( + data, + continue_creation, + error_message, + ) = plugin.before_creating_assistant( + self.request, + user_id, + project_id, + an_assistant, + ) + if not continue_creation: + all_in.append(False) + messages.append(error_message) + else: + an_assistant = data + all_in.append(True) + messages.append("") + if continue_creation: + added, message = add_assistant( + self.request, + user_id, + project_id, + an_assistant, + False, + False, + ) + if added: + for plugin in p.PluginImplementations(p.IAssistant): + plugin.after_creating_assistant( + self.request, + user_id, + project_id, + an_assistant, + ) + all_in.append(True) + messages.append("") + if not added: + all_in.append(False) + messages.append(message) + try: + self.request.dbsession.flush() + except IntegrityError: + self.request.dbsession.rollback() + error = True + message = self._("Your file has assistants with duplicated ids.") + except Exception as e: + self.request.dbsession.rollback() + log.error( + "Error {} while adding assistants from CSV in project {}".format( + str(e), project_id + ) + ) + message = self._("Unknown error. A log entry has been created") + + if not error: + self.request.session.flash( + self._("The file was uploaded successfully") + ) + return HTTPFound(location=next_page) + else: + self.add_error(message) + return HTTPFound(location=next_page, headers={"FS_error": "true"}) + else: + self.add_error(message) + return HTTPFound(location=next_page, headers={"FS_error": "true"}) + else: + raise HTTPNotFound From 6435ec4cbf78ca9a4f5d4f83db732940b512ff8e Mon Sep 17 00:00:00 2001 From: qlands Date: Mon, 3 Apr 2023 15:15:19 -0400 Subject: [PATCH 143/246] Test asistants CSV --- .../resources/assistants_csv/bad_columns.csv | 4 + .../resources/assistants_csv/bad_email.csv | 2 + .../resources/assistants_csv/bad_file.csv | Bin 0 -> 8346 bytes .../tests/resources/assistants_csv/bad_id.csv | 4 + .../resources/assistants_csv/bad_phone.csv | 2 + .../assistants_csv/duplicate_ids.csv | 3 + .../assistants_csv/duplicate_in_account.csv | 2 + .../resources/assistants_csv/empty_name.csv | 2 + .../assistants_csv/empty_password.csv | 2 + .../tests/resources/assistants_csv/ok.csv | 4 + formshare/tests/steps/assistants.py | 171 +++++++++++++++++- .../tests/steps/case_management_start.py | 1 + .../steps/clean_interface_unauthorized.py | 1 + formshare/tests/steps/crowdsourcing.py | 1 + formshare/tests/steps/form_access.py | 1 + formshare/tests/steps/form_merge_mimic.py | 1 + formshare/tests/steps/form_merge_mimic_2.py | 1 + formshare/tests/steps/form_merge_mimic_3.py | 1 + formshare/tests/steps/group_assistant.py | 1 + formshare/tests/steps/json_logs_2.py | 6 + formshare/tests/steps/json_logs_3.py | 1 + formshare/tests/steps/json_logs_4.py | 1 + formshare/tests/steps/one_user_assistant.py | 2 + formshare/tests/steps/repository.py | 3 + formshare/tests/steps/unauthorized_access.py | 10 + formshare/views/assistants.py | 145 +++++++-------- 26 files changed, 297 insertions(+), 75 deletions(-) create mode 100644 formshare/tests/resources/assistants_csv/bad_columns.csv create mode 100644 formshare/tests/resources/assistants_csv/bad_email.csv create mode 100644 formshare/tests/resources/assistants_csv/bad_file.csv create mode 100644 formshare/tests/resources/assistants_csv/bad_id.csv create mode 100644 formshare/tests/resources/assistants_csv/bad_phone.csv create mode 100644 formshare/tests/resources/assistants_csv/duplicate_ids.csv create mode 100644 formshare/tests/resources/assistants_csv/duplicate_in_account.csv create mode 100644 formshare/tests/resources/assistants_csv/empty_name.csv create mode 100644 formshare/tests/resources/assistants_csv/empty_password.csv create mode 100644 formshare/tests/resources/assistants_csv/ok.csv diff --git a/formshare/tests/resources/assistants_csv/bad_columns.csv b/formshare/tests/resources/assistants_csv/bad_columns.csv new file mode 100644 index 000000000..db5c55638 --- /dev/null +++ b/formshare/tests/resources/assistants_csv/bad_columns.csv @@ -0,0 +1,4 @@ +coll_ids,coll_names,coll_passwords,coll_email,coll_telephone +collaborator_id_2,Eduardo,123,cquiros@qlands.com,+506 +collaborator_id_2,Flor,123,, +collaborator_id_2,Jacob,123,, diff --git a/formshare/tests/resources/assistants_csv/bad_email.csv b/formshare/tests/resources/assistants_csv/bad_email.csv new file mode 100644 index 000000000..3d6aeac8d --- /dev/null +++ b/formshare/tests/resources/assistants_csv/bad_email.csv @@ -0,0 +1,2 @@ +coll_id,coll_name,coll_password,coll_email,coll_telephone +collaborator_id_2,Carlos,123,some,+506 diff --git a/formshare/tests/resources/assistants_csv/bad_file.csv b/formshare/tests/resources/assistants_csv/bad_file.csv new file mode 100644 index 0000000000000000000000000000000000000000..b49f9f1a1b5065db92760e8137f705bd99824904 GIT binary patch literal 8346 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 Date: Mon, 3 Apr 2023 17:18:00 -0400 Subject: [PATCH 144/246] Fix bug if tmp does not exist --- formshare/views/assistants.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/formshare/views/assistants.py b/formshare/views/assistants.py index fc8947137..c6b3b9d77 100644 --- a/formshare/views/assistants.py +++ b/formshare/views/assistants.py @@ -540,6 +540,11 @@ def process_view(self): assistants = [] try: repository = self.request.registry.settings["repository.path"] + paths = ["tmp"] + temp_path = os.path.join(repository, *paths) + if not os.path.exists(temp_path): + os.makedirs(temp_path) + uid = str(uuid.uuid4()) paths = ["tmp", uid + ".csv"] temp_file = os.path.join(repository, *paths) From 40ee44c3c6292e65602a4619c48337070eb54de5 Mon Sep 17 00:00:00 2001 From: qlands Date: Mon, 3 Apr 2023 18:46:57 -0400 Subject: [PATCH 145/246] Bump Redis to 4.4.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 50a560820..467c4dcdf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -115,7 +115,7 @@ PyUtilib==6.0.0 pyxform==1.10.1 PyYAML==6.0 qrcode==7.3.1 -redis==4.3.6 +redis==4.4.4 regex==2022.10.31 repoze.lru==0.7 requests==2.28.1 From 680991d4aa2de7ea13036d6913e676d549f6343e Mon Sep 17 00:00:00 2001 From: qlands Date: Tue, 4 Apr 2023 08:46:35 -0400 Subject: [PATCH 146/246] Fix bug with PURGE logs in AWS RDS --- formshare/models/__init__.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/formshare/models/__init__.py b/formshare/models/__init__.py index 7da8c1410..84c35b7e1 100644 --- a/formshare/models/__init__.py +++ b/formshare/models/__init__.py @@ -1,5 +1,5 @@ import os - +import logging import zope.sqlalchemy from formshare.models.formshare import ( Base, @@ -37,6 +37,8 @@ from sqlalchemy.orm import configure_mappers from sqlalchemy.orm import sessionmaker +log = logging.getLogger("formshare") + # import or define all models here to ensure they are attached to the # Base.metadata prior to any initialization routines @@ -108,7 +110,10 @@ def includeme(config): # use pyramid_retry to retry a request when transient exceptions occur config.include("pyramid_retry") engine = get_engine(settings) - engine.execute("PURGE BINARY LOGS BEFORE '2999-12-12 23:59:59';") + try: + engine.execute("PURGE BINARY LOGS BEFORE '2999-12-12 23:59:59';") + except Exception as e: + log.error("Unable to purge binary logs. Error: {}".format(str(e))) schemas = engine.execute("show schemas").fetchall() path_to_init_file = os.path.dirname( os.path.realpath(settings["global:config:file"]) From c867065e0120e1232e7ab2878a397738fd67a548 Mon Sep 17 00:00:00 2001 From: qlands Date: Sun, 30 Apr 2023 15:51:30 -0400 Subject: [PATCH 147/246] Allow to extend project forms --- .../templates/dashboard/projects/snippets/project_forms.jinja2 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/formshare/templates/dashboard/projects/snippets/project_forms.jinja2 b/formshare/templates/dashboard/projects/snippets/project_forms.jinja2 index 6d0ec361c..809e870a1 100644 --- a/formshare/templates/dashboard/projects/snippets/project_forms.jinja2 +++ b/formshare/templates/dashboard/projects/snippets/project_forms.jinja2 @@ -39,6 +39,9 @@ {% endif %} {% if projectData.total_case_creators > 0 and projectData.total_case_creators_with_repository > 0 %} + {% block case_tools_extra %} + + {% endblock case_tools_extra %} {% endif %} {% else %} From 7661a3e4fa3a09a66e621e276e3c459667350c73 Mon Sep 17 00:00:00 2001 From: qlands Date: Sun, 30 Apr 2023 15:52:15 -0400 Subject: [PATCH 148/246] Add the QLands website --- formshare/templates/landing/snippets/contact.jinja2 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/formshare/templates/landing/snippets/contact.jinja2 b/formshare/templates/landing/snippets/contact.jinja2 index ed8527ad1..b522037a9 100644 --- a/formshare/templates/landing/snippets/contact.jinja2 +++ b/formshare/templates/landing/snippets/contact.jinja2 @@ -13,7 +13,7 @@
    {% block address %} - QLands Technology Consultants.
    + QLands Technology Consultants.
    San Antonio de Belen
    Heredia, Costa Rica
    {{ _('P') }}: +506 62365878 @@ -41,7 +41,10 @@
  • +
    + www.qlands.com + {% endblock contact_and_social %}
    @@ -51,7 +54,7 @@

    © 2023 QLands Technology Consultants

    {% endblock version %} {% block version_extra %} - + {{ _('FormShare, the FormShare logo, and the slogan "Centralize data – Decentralize knowledge" are either registered trademarks or trademarks of QLands Technology Consultants. All other products, logos, or name brands are trademarks of their respective holders, including QLands Technology Consultants.') }} {% endblock version_extra %}
    From 20bb5f4d263848605c3045b5264fc2618ce14485 Mon Sep 17 00:00:00 2001 From: qlands Date: Sun, 30 Apr 2023 19:18:45 -0400 Subject: [PATCH 149/246] Update translations --- formshare/locale/en/LC_MESSAGES/formshare.po | 282 ++- formshare/locale/es/LC_MESSAGES/formshare.po | 2007 +++++----------- formshare/locale/fr/LC_MESSAGES/formshare.po | 2140 +++++------------- formshare/locale/pt/LC_MESSAGES/formshare.po | 1940 +++++----------- 4 files changed, 1877 insertions(+), 4492 deletions(-) diff --git a/formshare/locale/en/LC_MESSAGES/formshare.po b/formshare/locale/en/LC_MESSAGES/formshare.po index 4e4ec1eb6..5cccd6a3c 100644 --- a/formshare/locale/en/LC_MESSAGES/formshare.po +++ b/formshare/locale/en/LC_MESSAGES/formshare.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: formshare 0.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-03-30 08:42-0400\n" +"POT-Creation-Date: 2023-04-30 15:52-0400\n" "PO-Revision-Date: 2017-11-15 22:40-0600\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -23,15 +23,15 @@ msgstr "" msgid "The user account does not exist or the password is invalid" msgstr "" -#: formshare/processes/db/assistant.py:302 +#: formshare/processes/db/assistant.py:310 msgid "" "The assistant already exists in your account. You do not need to " "duplicate assistants, just mark them as \"Share among projects\" to use " "them across projects." msgstr "" -#: formshare/processes/db/assistant.py:322 -#: formshare/processes/db/assistant.py:351 +#: formshare/processes/db/assistant.py:331 +#: formshare/processes/db/assistant.py:360 msgid "The assistant is already part of this project" msgstr "" @@ -823,9 +823,9 @@ msgstr "" #: formshare/templates/dashboard/partners/partner_edit.jinja2:49 #: formshare/templates/dashboard/partners/snippets/partner_password_form.jinja2:23 #: formshare/templates/dashboard/profile/profile_edit.jinja2:142 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:105 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:131 -#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:38 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:114 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:140 +#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:39 #: formshare/templates/dashboard/users/snippets/user_password_form.jinja2:22 #: formshare/templates/dashboard/users/user_edit.jinja2:49 #: formshare/templates/partner/page.jinja2:137 @@ -834,7 +834,7 @@ msgid "Change password" msgstr "" #: formshare/templates/assistant/page.jinja2:148 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:106 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:115 #: formshare/templates/partner/page.jinja2:138 msgid "Change the password of" msgstr "" @@ -847,7 +847,7 @@ msgstr "" #: formshare/templates/assistant/page.jinja2:161 #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:49 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:114 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:123 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:44 #: formshare/templates/dashboard/users/snippets/user_form.jinja2:23 #: formshare/templates/generic/assistant_login.jinja2:31 @@ -860,7 +860,7 @@ msgstr "" #: formshare/templates/assistant/page.jinja2:168 #: formshare/templates/dashboard/profile/profile_edit.jinja2:133 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:121 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:130 #: formshare/templates/partner/page.jinja2:157 msgid "Confirmation" msgstr "" @@ -870,8 +870,9 @@ msgstr "" #: formshare/templates/assistant/page.jinja2:175 #: formshare/templates/assistant/page.jinja2:216 #: formshare/templates/assistant/page.jinja2:247 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:138 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:130 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:140 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:139 +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:23 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:103 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:136 #: formshare/templates/dashboard/projects/forms/dictionary/snippets/change_field_name.jinja2:23 @@ -1303,16 +1304,16 @@ msgid "Error" msgstr "" #: formshare/templates/assistant/jsonlogs/loglist.jinja2:94 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:63 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:74 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:65 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:83 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:70 msgid "Status" msgstr "" #: formshare/templates/assistant/jsonlogs/loglist.jinja2:99 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:68 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:62 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:79 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:70 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:64 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:88 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:80 msgid "Actions" msgstr "" @@ -1782,9 +1783,9 @@ msgstr "" #: formshare/templates/dashboard/index.jinja2:249 #: formshare/templates/dashboard/partners/partner_list.jinja2:113 #: formshare/templates/dashboard/profile/profile.jinja2:77 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:98 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:250 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:150 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:100 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:254 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:186 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:120 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:541 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:583 @@ -1895,9 +1896,9 @@ msgstr "" #: formshare/templates/dashboard/index.jinja2:258 #: formshare/templates/dashboard/index.jinja2:292 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:103 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:255 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:155 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:105 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:259 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:191 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:125 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:335 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:368 @@ -2073,7 +2074,7 @@ msgstr "" #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:9 #: formshare/templates/dashboard/profile/snippets/social_tab.jinja2:24 #: formshare/templates/dashboard/profile/snippets/social_tab.jinja2:26 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:64 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:73 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:16 #: formshare/templates/dashboard/users/snippets/user_form.jinja2:16 #: formshare/templates/generic/register.jinja2:19 @@ -2099,7 +2100,7 @@ msgid "" msgstr "" #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:42 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:69 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:78 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:37 #: formshare/templates/landing/snippets/contact.jinja2:19 msgid "Telephone" @@ -2155,8 +2156,8 @@ msgid "Edit Profile" msgstr "" #: formshare/templates/dashboard/profile/profile_edit.jinja2:36 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:52 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:59 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:54 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:68 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:60 #: formshare/templates/dashboard/projects/forms/snippets/edit_form.jinja2:5 #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:10 @@ -2199,8 +2200,8 @@ msgstr "" #: formshare/templates/dashboard/profile/snippets/about_tab.jinja2:30 #: formshare/templates/dashboard/profile/snippets/brdcrbs_profile_edit.jinja2:11 #: formshare/templates/dashboard/profile/snippets/profile_head.jinja2:23 -#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:26 -#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:39 +#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:27 +#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:40 #: formshare/templates/dashboard/projects/snippets/brdcrbs_prjedit.jinja2:14 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:14 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:49 @@ -2226,7 +2227,7 @@ msgid "Collaborations" msgstr "" #: formshare/templates/dashboard/profile/snippets/profile_head.jinja2:33 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:57 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:59 msgid "Joined" msgstr "" @@ -2315,7 +2316,7 @@ msgstr "" msgid "Information for the new project" msgstr "" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:110 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:112 #: formshare/templates/dashboard/projects/project_details.jinja2:18 msgid "Project" msgstr "" @@ -2330,9 +2331,9 @@ msgstr "" msgid "Are you sure that you want to remove " msgstr "" -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:102 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:254 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:154 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:104 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:258 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:190 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:124 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:587 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:643 @@ -2398,14 +2399,14 @@ msgid "" "example, \"Data collectors\"" msgstr "" -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:45 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:46 #: formshare/templates/dashboard/projects/assistant_groups/snippets/brdcrbs_groupedit.jinja2:2 #: formshare/templates/dashboard/projects/assistant_groups/snippets/group_form.jinja2:17 #: formshare/templates/dashboard/projects/forms/snippets/add_group.jinja2:40 msgid "Add group" msgstr "" -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:58 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:60 #: formshare/templates/dashboard/projects/assistant_groups/snippets/group_form.jinja2:5 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:65 msgid "Description" @@ -2416,32 +2417,33 @@ msgstr "" msgid "Members in" msgstr "" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:41 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:42 msgid "Add member" msgstr "" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:84 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:139 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:86 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:141 +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:3 msgid "Add assistants" msgstr "" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:90 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:92 msgid "Check all" msgstr "" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:93 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:95 msgid "Uncheck all" msgstr "" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:100 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:102 msgid "Filter by project" msgstr "" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:104 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:106 msgid "Note: Assistants excluded by a filter will be automatically unchecked" msgstr "" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:111 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:113 #: formshare/templates/dashboard/projects/forms/import_data/import_form.jinja2:54 #: formshare/templates/dashboard/projects/forms/snippets/add_assistant.jinja2:13 #: formshare/templates/dashboard/projects/forms/submissions/snippets/move_to_logs.jinja2:15 @@ -2459,13 +2461,12 @@ msgstr "" msgid "Groups" msgstr "" -#: formshare/templates/dashboard/projects/assistant_groups/members/snippets/member_item.jinja2:19 +#: formshare/templates/dashboard/projects/assistant_groups/members/snippets/member_item.jinja2:20 #: formshare/templates/dashboard/projects/collaborators/snippets/collaborator_item.jinja2:38 msgid "Remove" msgstr "" #: formshare/templates/dashboard/projects/assistant_groups/snippets/brdcrbs_groupadd.jinja2:2 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:45 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:67 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistadd.jinja2:2 #: formshare/templates/dashboard/projects/forms/snippets/add_assistant.jinja2:44 @@ -2505,8 +2506,8 @@ msgstr "" msgid "Members" msgstr "" -#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:27 -#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:40 +#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:28 +#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:41 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:109 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:114 #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:84 @@ -2529,7 +2530,7 @@ msgid "Edit assistant" msgstr "" #: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:4 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:32 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:38 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistadd.jinja2:14 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistedit.jinja2:14 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistlist.jinja2:14 @@ -2539,14 +2540,30 @@ msgstr "" msgid "Assistants" msgstr "" -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:34 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:40 msgid "Assistants help you collect and clean data." msgstr "" -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:182 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:218 msgid "Changing password for" msgstr "" +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:6 +msgid "Add one" +msgstr "" + +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:9 +msgid "Add many from CSV file" +msgstr "" + +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:11 +msgid "Download template file" +msgstr "" + +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:12 +msgid "Upload CSV file" +msgstr "" + #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:5 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form_edit.jinja2:4 #: formshare/templates/generic/assistant_login.jinja2:28 @@ -2589,6 +2606,25 @@ msgstr "" msgid "Assistant list" msgstr "" +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:7 +#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:7 +#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:7 +msgid "Upload file" +msgstr "" + +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:17 +#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:17 +#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:17 +msgid "Choose files" +msgstr "" + +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:24 +#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:30 +#: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:117 +#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:30 +msgid "Upload" +msgstr "" + #: formshare/templates/dashboard/projects/collaborators/accept_collaboration.jinja2:5 #: formshare/templates/dashboard/projects/collaborators/accept_collaboration.jinja2:39 #: formshare/templates/dashboard/projects/collaborators/snippets/brdcrbs_accept_collaboration.jinja2:8 @@ -4708,16 +4744,6 @@ msgid "" "and CANNOT BE CHANGED afterwards." msgstr "" -#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:7 -#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:7 -msgid "Upload file" -msgstr "" - -#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:17 -#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:17 -msgid "Choose files" -msgstr "" - #: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:21 #: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:21 msgid "Overwrite" @@ -4728,12 +4754,6 @@ msgstr "" msgid "Overwrite any existent file" msgstr "" -#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:30 -#: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:117 -#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:30 -msgid "Upload" -msgstr "" - #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:9 msgid "Upload form" msgstr "" @@ -5359,7 +5379,7 @@ msgstr "" #: formshare/templates/dashboard/projects/snippets/no_forms.jinja2:16 #: formshare/templates/dashboard/projects/snippets/no_forms.jinja2:22 #: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:38 -#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:44 +#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:47 msgid "Add new form (Inactive)" msgstr "" @@ -5372,7 +5392,7 @@ msgid "Create the case lookup table" msgstr "" #: formshare/templates/dashboard/projects/snippets/no_forms.jinja2:22 -#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:44 +#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:47 msgid "" "You cannot add new forms while you have a case creator form in testing " "stage." @@ -5699,7 +5719,7 @@ msgstr "" #: formshare/templates/dashboard/snippets/footer.jinja2:4 #: formshare/templates/generic/login.jinja2:83 -#: formshare/templates/landing/snippets/contact.jinja2:50 +#: formshare/templates/landing/snippets/contact.jinja2:53 msgid "Version" msgstr "" @@ -6077,6 +6097,15 @@ msgstr "" msgid "Or follow us on social media" msgstr "" +#: formshare/templates/landing/snippets/contact.jinja2:57 +msgid "" +"FormShare, the FormShare logo, and the slogan \"Centralize data – " +"Decentralize knowledge\" are either registered trademarks or trademarks " +"of QLands Technology Consultants. All other products, logos, or name " +"brands are trademarks of their respective holders, including QLands " +"Technology Consultants." +msgstr "" + #: formshare/templates/landing/snippets/features2.jinja2:5 msgid "Centralize" msgstr "" @@ -6214,43 +6243,43 @@ msgstr "" msgid "This is the latest export of this product" msgstr "" -#: formshare/views/assistant_groups.py:89 +#: formshare/views/assistant_groups.py:88 msgid "The group was added to this project" msgstr "" -#: formshare/views/assistant_groups.py:96 -#: formshare/views/assistant_groups.py:160 +#: formshare/views/assistant_groups.py:95 +#: formshare/views/assistant_groups.py:159 msgid "You need to specify a name" msgstr "" -#: formshare/views/assistant_groups.py:153 +#: formshare/views/assistant_groups.py:152 msgid "The group was edited successfully" msgstr "" -#: formshare/views/assistant_groups.py:200 -#: formshare/views/assistant_groups.py:328 +#: formshare/views/assistant_groups.py:199 +#: formshare/views/assistant_groups.py:326 msgid "The group was deleted successfully" msgstr "" -#: formshare/views/assistant_groups.py:204 -#: formshare/views/assistant_groups.py:332 +#: formshare/views/assistant_groups.py:203 +#: formshare/views/assistant_groups.py:330 msgid "Unable to delete the group: " msgstr "" -#: formshare/views/assistant_groups.py:275 formshare/views/form.py:2143 +#: formshare/views/assistant_groups.py:273 formshare/views/form.py:2143 msgid "The assistant was added successfully" msgstr "" -#: formshare/views/assistant_groups.py:283 +#: formshare/views/assistant_groups.py:281 msgid "You need to specify assistants" msgstr "" -#: formshare/views/assistants.py:131 +#: formshare/views/assistants.py:148 msgid "The assistant was added to this project" msgstr "" #: formshare/views/assistant_views/forms.py:148 -#: formshare/views/assistants.py:141 formshare/views/assistants.py:414 +#: formshare/views/assistants.py:158 formshare/views/assistants.py:437 #: formshare/views/basic_views.py:303 formshare/views/basic_views.py:758 #: formshare/views/partner_views/forms.py:119 formshare/views/partners.py:276 #: formshare/views/partners.py:473 formshare/views/users.py:226 @@ -6259,7 +6288,7 @@ msgid "The password cannot be empty" msgstr "" #: formshare/views/assistant_views/forms.py:144 -#: formshare/views/assistants.py:145 formshare/views/assistants.py:405 +#: formshare/views/assistants.py:162 formshare/views/assistants.py:428 #: formshare/views/basic_views.py:738 #: formshare/views/partner_views/forms.py:115 formshare/views/partners.py:271 #: formshare/views/partners.py:470 formshare/views/users.py:223 @@ -6267,32 +6296,85 @@ msgstr "" msgid "The password and its confirmation are not the same" msgstr "" -#: formshare/views/assistants.py:149 formshare/views/basic_views.py:749 -#: formshare/views/users.py:397 -msgid "The user id has invalid characters. Only underscore and dot are allowed" +#: formshare/views/assistants.py:168 +msgid "The assistant id has invalid characters. Only underscore is allowed" msgstr "" -#: formshare/views/assistants.py:155 -msgid "You need to specify a user id" +#: formshare/views/assistants.py:175 +msgid "You need to specify an assistant name" msgstr "" -#: formshare/views/assistants.py:237 +#: formshare/views/assistants.py:178 +msgid "You need to specify an assistant id" +msgstr "" + +#: formshare/views/assistants.py:260 msgid "The assistant was edited successfully" msgstr "" -#: formshare/views/assistants.py:303 +#: formshare/views/assistants.py:326 msgid "The assistant was deleted successfully" msgstr "" -#: formshare/views/assistants.py:379 +#: formshare/views/assistants.py:402 msgid "The password was changed successfully" msgstr "" #: formshare/views/assistant_views/forms.py:132 -#: formshare/views/assistants.py:388 formshare/views/partner_views/forms.py:102 +#: formshare/views/assistants.py:411 formshare/views/partner_views/forms.py:102 msgid "Unable to change the password: " msgstr "" +#: formshare/views/assistants.py:566 formshare/views/form.py:1890 +#: formshare/views/form.py:1897 formshare/views/projects.py:586 +#: formshare/views/projects.py:593 +msgid "Error {} encountered. A log entry has been produced" +msgstr "" + +#: formshare/views/assistants.py:581 +msgid "The CSV must have the following columns:" +msgstr "" + +#: formshare/views/assistants.py:589 +msgid "The assistant with id = \"{}\" is invalid. Only _ is allowed" +msgstr "" + +#: formshare/views/assistants.py:597 +msgid "The assistant with id = {} has empty coll_name" +msgstr "" + +#: formshare/views/assistants.py:605 +msgid "The assistant with id = {} has empty coll_password" +msgstr "" + +#: formshare/views/assistants.py:618 +msgid "The assistant with id = {} has an invalid email" +msgstr "" + +#: formshare/views/assistants.py:629 +msgid "The assistant with id = {} has an invalid telephone" +msgstr "" + +#: formshare/views/assistants.py:641 +msgid "" +"The assistant with id = {} is already part of your account. You do not " +"need to duplicate assistants, just mark them as \"Share among projects\" " +"to use them across projects." +msgstr "" + +#: formshare/views/assistants.py:694 +msgid "Your file has assistants with duplicated ids." +msgstr "" + +#: formshare/views/assistants.py:702 +msgid "Unknown error. A log entry has been created" +msgstr "" + +#: formshare/views/assistants.py:706 formshare/views/form.py:1903 +#: formshare/views/projects.py:600 +msgid "The file was uploaded successfully" +msgstr "" + #: formshare/views/basic_views.py:297 msgid "The password and the confirmation are not the same" msgstr "" @@ -6329,6 +6411,10 @@ msgstr "" msgid "The password must be less than 50 characters" msgstr "" +#: formshare/views/basic_views.py:749 formshare/views/users.py:397 +msgid "The user id has invalid characters. Only underscore and dot are allowed" +msgstr "" + #: formshare/views/api/version_1/tokens.py:143 formshare/views/classes.py:610 #: formshare/views/classes.py:625 formshare/views/classes.py:989 #: formshare/views/classes.py:1004 @@ -6564,15 +6650,6 @@ msgstr "" msgid "No files were attached" msgstr "" -#: formshare/views/form.py:1890 formshare/views/form.py:1897 -#: formshare/views/projects.py:586 formshare/views/projects.py:593 -msgid "Error {} encountered. A log entry has been produced" -msgstr "" - -#: formshare/views/form.py:1903 formshare/views/projects.py:600 -msgid "The file was uploaded successfully" -msgstr "" - #: formshare/views/form.py:1907 formshare/views/projects.py:604 msgid "The files were uploaded successfully" msgstr "" @@ -8627,3 +8704,6 @@ msgstr "" #~ " select_one, or integer." #~ msgstr "" +#~ msgid "You need to specify a user id" +#~ msgstr "" + diff --git a/formshare/locale/es/LC_MESSAGES/formshare.po b/formshare/locale/es/LC_MESSAGES/formshare.po index d6de2080d..1685704af 100644 --- a/formshare/locale/es/LC_MESSAGES/formshare.po +++ b/formshare/locale/es/LC_MESSAGES/formshare.po @@ -1,37 +1,22 @@ -# Carlos Quiros , 2022, 2023. msgid "" msgstr "" -"Project-Id-Version: FormShare\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-03-30 08:42-0400\n" -"PO-Revision-Date: 2023-03-30 08:48-0400\n" -"Last-Translator: Carlos Quiros \n" -"Language: es\n" -"Language-Team: English \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" -"Generated-By: Babel 2.10.3\n" -"X-Generator: Lokalize 21.12.3\n" +"X-Generator: POEditor.com\n" +"Project-Id-Version: FormShare\n" +"Language: es\n" #: formshare/config/auth.py:52 formshare/views/basic_views.py:226 #: formshare/views/basic_views.py:432 msgid "The user account does not exist or the password is invalid" msgstr "La cuenta del usuario no existe o la contraseña no es válida" -#: formshare/processes/db/assistant.py:302 -msgid "" -"The assistant already exists in your account. You do not need to " -"duplicate assistants, just mark them as \"Share among projects\" to use " -"them across projects." -msgstr "" -"El asistente ya existe en su cuenta. Usted no necesita duplicar " -"asistentes, solo márcalos como \"Compartir entre proyectos\" para usarlos" -" entre proyectos" +#: formshare/processes/db/assistant.py:310 +msgid "The assistant already exists in your account. You do not need to duplicate assistants, just mark them as \"Share among projects\" to use them across projects." +msgstr "El asistente ya existe en su cuenta. Usted no necesita duplicar asistentes, solo márcalos como \"Compartir entre proyectos\" para usarlos entre proyectos" -#: formshare/processes/db/assistant.py:322 -#: formshare/processes/db/assistant.py:351 +#: formshare/processes/db/assistant.py:331 formshare/processes/db/assistant.py:360 msgid "The assistant is already part of this project" msgstr "El asistente ya es parte de este proyecto" @@ -104,9 +89,7 @@ msgstr "Un proyecto con nombre '{}' ya existe en su cuenta" #: formshare/processes/db/project.py:1209 msgid "If you have forms with submissions, first you need to delete such forms" -msgstr "" -"Si usted tiene formularios con envíos, primero tendría que borrar esos " -"formularios" +msgstr "Si usted tiene formularios con envíos, primero tendría que borrar esos formularios" #: formshare/processes/db/user.py:148 msgid "Username is already taken" @@ -130,9 +113,7 @@ msgstr "Alerta de seguridad de token" #: formshare/processes/odk/api.py:459 msgid "The primary key variable does not exist or is inside a repeat" -msgstr "" -"La llave primaria no se encontró en el formulario ODK o está dentro de un" -" \"repeat\"" +msgstr "La llave primaria no se encontró en el formulario ODK o está dentro de un \"repeat\"" #: formshare/processes/odk/api.py:473 formshare/processes/odk/api.py:522 #: formshare/processes/odk/api.py:544 formshare/processes/odk/api.py:647 @@ -141,12 +122,8 @@ msgid "FormShare thoroughly checks your ODK for inconsistencies." msgstr "FormShare verifica completamente su ODK por inconsistencias" #: formshare/processes/odk/api.py:477 -msgid "" -"The following variables are duplicated within repeats or outside repeats " -"in the ODK you just submitted:" -msgstr "" -"El formulario ODK tienes las siguientes variables repetidas dentro de un " -"mismo repeat o fuera de algún repeat:" +msgid "The following variables are duplicated within repeats or outside repeats in the ODK you just submitted:" +msgstr "El formulario ODK tienes las siguientes variables repetidas dentro de un mismo repeat o fuera de algún repeat:" #: formshare/processes/odk/api.py:487 msgid "Outside any repeat" @@ -161,13 +138,8 @@ msgid "Variable: {}" msgstr "Variable: {}" #: formshare/processes/odk/api.py:504 formshare/processes/odk/api.py:663 -msgid "" -"Please note that FormShare only allows basic Latin letters, digits 0-9, " -"dollar and underscore in repeat, group and variable names." -msgstr "" -"Por favor tome nota de que FormShare sólo permite letras en latín, " -"dígitos de 0 a 9, signo de dólares y guion bajo en los nombres de " -"repeats, groups y nombres de variables" +msgid "Please note that FormShare only allows basic Latin letters, digits 0-9, dollar and underscore in repeat, group and variable names." +msgstr "Por favor tome nota de que FormShare sólo permite letras en latín, dígitos de 0 a 9, signo de dólares y guion bajo en los nombres de repeats, groups y nombres de variables" #: formshare/processes/odk/api.py:524 msgid "The following variables have invalid names:" @@ -190,31 +162,12 @@ msgid "Please remove the duplicated choices and try again." msgstr "Elimine las opciones duplicadas e intente nuevamente." #: formshare/processes/odk/api.py:572 formshare/views/form.py:712 -msgid "" -"This ODK form mixes coded and not coded languages. For example " -"label::English (en) and label::Español. You need to code all the labels " -"that are marked for translation." -msgstr "" -"Este formulario ODK mezcla lenguajes codificados y no codificados. Por " -"ejemplo label::English (en) y label::Español. Es necesario codificar " -"todas las etiquetas que están marcadas para ser traducidas." +msgid "This ODK form mixes coded and not coded languages. For example label::English (en) and label::Español. You need to code all the labels that are marked for translation." +msgstr "Este formulario ODK mezcla lenguajes codificados y no codificados. Por ejemplo label::English (en) y label::Español. Es necesario codificar todas las etiquetas que están marcadas para ser traducidas." #: formshare/processes/odk/api.py:580 -#| msgid "" "The variable to control duplicate submissions has an invalid type. -#| E.g., " "the variable cannot be note, picture, video, sound, -#| select_multiple, or " "geospatial. The most appropriate types are text, -#| datetime, barcode, " "calculate, select_one, or integer" -msgid "" -"The variable to control duplicate submissions has an invalid type. E.g., " -"the variable cannot be note, picture, video, sound, select_multiple, or " -"geospatial. It cannot be instanceID. The most appropriate types are text," -" datetime, barcode, calculate, select_one, or integer" -msgstr "" -"La variable para controlar los envíos duplicados tiene un tipo no válido." -" Por ejemplo, la variable no puede ser nota, imagen, vídeo, sonido, " -"select_multiple o geoespacial. No puede ser instanceID. Los tipos más" -" apropiados son texto, fecha " -"y hora, código de barras, cálculo, select_one o entero." +msgid "The variable to control duplicate submissions has an invalid type. E.g., the variable cannot be note, picture, video, sound, select_multiple, or geospatial. It cannot be instanceID. The most appropriate types are text, datetime, barcode, calculate, select_one, or integer" +msgstr "La variable para controlar los envíos duplicados tiene un tipo no válido. Por ejemplo, la variable no puede ser nota, imagen, vídeo, sonido, select_multiple o geoespacial. No puede ser instanceID. Los tipos más apropiados son texto, fecha y hora, código de barras, cálculo, select_one o entero." #: formshare/processes/odk/api.py:600 formshare/views/form.py:721 msgid "FormShare needs you to shorten the name of some of your tables." @@ -226,9 +179,7 @@ msgstr "Las siguientes tablas tienen un nombre de más de 64 caracteres:" #: formshare/processes/odk/api.py:627 formshare/views/form.py:754 msgid "Please shorten the name of the tables and/or the selects and try again." -msgstr "" -"Acorte el nombre de las tablas y / o las listas de selección y vuelva a " -"intentarlo." +msgstr "Acorte el nombre de las tablas y / o las listas de selección y vuelva a intentarlo." #: formshare/processes/odk/api.py:651 msgid "The following repeats are duplicated in the ODK you just submitted:" @@ -240,42 +191,27 @@ msgstr "Repeat {}" #: formshare/processes/odk/api.py:707 formshare/views/form.py:554 msgid "The following options are duplicated in the ODK you just submitted:" -msgstr "" -"Las siguientes opciones estas duplicadas en el ODK que usted trató de " -"subir" +msgstr "Las siguientes opciones estas duplicadas en el ODK que usted trató de subir" #: formshare/processes/odk/api.py:719 formshare/views/form.py:566 msgid "Option {} in variable {}" msgstr "Opción {} en variable {}" #: formshare/processes/odk/api.py:737 -msgid "" -"Malformed language in your ODK. You have label:X (Y) when it must be " -"label::X (Y). With two colons (::)" -msgstr "" -"Lenguaje mal formado en su ODK. Tienes label: X (Y) cuando debe serlabel " -":: X (Y). Con dos dos puntos (::)" +msgid "Malformed language in your ODK. You have label:X (Y) when it must be label::X (Y). With two colons (::)" +msgstr "Lenguaje mal formado en su ODK. Tienes label: X (Y) cuando debe serlabel :: X (Y). Con dos dos puntos (::)" #: formshare/processes/odk/api.py:754 -msgid "" -"You have choice lists with names but not labels. Did you missed the :: " -"between label and language? Like label:English (en)" -msgstr "" -"Tienes listas de selección con nombres pero no con etiquetas. ¿Se te ha " -"escapado el :: entre la etiqueta y el idioma? Como label:Español (es)" +msgid "You have choice lists with names but not labels. Did you missed the :: between label and language? Like label:English (en)" +msgstr "Tienes listas de selección con nombres pero no con etiquetas. ¿Se te ha escapado el :: entre la etiqueta y el idioma? Como label:Español (es)" #: formshare/processes/odk/api.py:829 -msgid "" -"FormShare manages your data in a better way but by doing so it has more " -"restrictions." -msgstr "" -"Formshare maneja sus datos de una mejor forma sin embargo posee más " -"restricciones." +msgid "FormShare manages your data in a better way but by doing so it has more restrictions." +msgstr "Formshare maneja sus datos de una mejor forma sin embargo posee más restricciones." #: formshare/processes/odk/api.py:835 msgid "The following tables have more than 60 selects: " -msgstr "" -"Las siguientes tablas tienen más de 60 opciones de selección (selects):" +msgstr "Las siguientes tablas tienen más de 60 opciones de selección (selects):" #: formshare/processes/odk/api.py:843 msgid " with " @@ -290,67 +226,24 @@ msgid "Some information on this restriction and how to correct it:" msgstr "Algo de información acerca de esta restricción y cómo corregirla:" #: formshare/processes/odk/api.py:853 -msgid "" -"We tend to organize our ODK forms in sections with questions around a " -"topic. For example: \"livestock inputs\" or \"crops sales\"." -msgstr "" -"Usualmente organizamos nuestros formularios ODK en secciones con " -"preguntas relacionadas a algo. Por ejemplo: \"alimentación animal\" o " -"\"ventas por cultivos\"" +msgid "We tend to organize our ODK forms in sections with questions around a topic. For example: \"livestock inputs\" or \"crops sales\"." +msgstr "Usualmente organizamos nuestros formularios ODK en secciones con preguntas relacionadas a algo. Por ejemplo: \"alimentación animal\" o \"ventas por cultivos\"" #: formshare/processes/odk/api.py:861 -msgid "" -"These sections have type = \"begin/end group\". We also organize " -"questions that must be repeated in sections with type = \"begin/end " -"repeat.\"" -msgstr "" -"Estas secciones poseen en ODK type = \"begin/end group\". También " -"organizamos las preguntas que se tienen que repetir en secciones con " -"\"begin/end repeat.\"" +msgid "These sections have type = \"begin/end group\". We also organize questions that must be repeated in sections with type = \"begin/end repeat.\"" +msgstr "Estas secciones poseen en ODK type = \"begin/end group\". También organizamos las preguntas que se tienen que repetir en secciones con \"begin/end repeat.\"" #: formshare/processes/odk/api.py:869 -msgid "" -"FormShare stores repeats as separate tables (like different Excel sheets)" -" however groups are not stored as repeats. FormShare stores all items " -"(questions, notes, calculations, etc.) outside repeats into a table " -"called \"maintable\". Thus \"maintable\" usually end up with several " -"items and if your ODK form has many selects, then the \"maintable\" could" -" potentially have more than 60 selects. FormShare can only handle 60 " -"selects per table." -msgstr "" -"FormShare almacena \"repeats\" en tablas separadas (como las hojas en un " -"Excel) sin embargo los \"groups\" no se almacenan en tablas separadas. " -"FormShare almacena todos los elementos (preguntas, notas, cálculos, etc.)" -" fuera de \"repeats\" dentro de una tabla llamada \"maintable\". Por esta" -" razón \"maintable\" usualmente posee muchos elementos y si su formulario" -" ODK posee muchas opciones de selección (selects) entonces la tabla " -"\"maintable\" podría llegar a tener más de 60 opciones de selección. " -"FormShare solo puede manejar 60 opciones de selección por tabla." +msgid "FormShare stores repeats as separate tables (like different Excel sheets) however groups are not stored as repeats. FormShare stores all items (questions, notes, calculations, etc.) outside repeats into a table called \"maintable\". Thus \"maintable\" usually end up with several items and if your ODK form has many selects, then the \"maintable\" could potentially have more than 60 selects. FormShare can only handle 60 selects per table." +msgstr "FormShare almacena \"repeats\" en tablas separadas (como las hojas en un Excel) sin embargo los \"groups\" no se almacenan en tablas separadas. FormShare almacena todos los elementos (preguntas, notas, cálculos, etc.) fuera de \"repeats\" dentro de una tabla llamada \"maintable\". Por esta razón \"maintable\" usualmente posee muchos elementos y si su formulario ODK posee muchas opciones de selección (selects) entonces la tabla \"maintable\" podría llegar a tener más de 60 opciones de selección. FormShare solo puede manejar 60 opciones de selección por tabla." #: formshare/processes/odk/api.py:881 -msgid "" -"You can bypass this restriction by creating groups of items inside " -"repeats BUT WITH repeat_count = 1. A repeat with repeat_count = 1 will " -"behave in the same way as a group, but FormShare will create a new table " -"for it to store all its items. Eventually if you export the data to Excel" -" your items will be organized in different sheets each representing a " -"table." -msgstr "" -"Usted puede sobrepasar esta restricción creando grupos de elementos " -"dentro de \"repeats\" PERO CON \"repeat_count = 1\". Un \"repeat\" con " -"\"repeat_count = 1\" se va a comportar de la misma forma que un grupo " -"pero FormShare creará una tabla para almacenar todos sus elementos, " -"Eventualmente si usted exportara los datos a Excel los elementos de su " -"formulario estarán organizados en diferentes páginas cada una " -"representando una tabla." +msgid "You can bypass this restriction by creating groups of items inside repeats BUT WITH repeat_count = 1. A repeat with repeat_count = 1 will behave in the same way as a group, but FormShare will create a new table for it to store all its items. Eventually if you export the data to Excel your items will be organized in different sheets each representing a table." +msgstr "Usted puede sobrepasar esta restricción creando grupos de elementos dentro de \"repeats\" PERO CON \"repeat_count = 1\". Un \"repeat\" con \"repeat_count = 1\" se va a comportar de la misma forma que un grupo pero FormShare creará una tabla para almacenar todos sus elementos, Eventualmente si usted exportara los datos a Excel los elementos de su formulario estarán organizados en diferentes páginas cada una representando una tabla." #: formshare/processes/odk/api.py:890 -msgid "" -"Please edit your ODK XLSX/XLS file, group several items inside repeats " -"with repeat_count = 1 and try to upload the form again." -msgstr "" -"Por favor edite su archivo XLSX/XLS, agrupe varios elementos dentro de " -"repeats CON repeat_count = 1 e intente subir de nuevo el formulario." +msgid "Please edit your ODK XLSX/XLS file, group several items inside repeats with repeat_count = 1 and try to upload the form again." +msgstr "Por favor edite su archivo XLSX/XLS, agrupe varios elementos dentro de repeats CON repeat_count = 1 e intente subir de nuevo el formulario." #: formshare/processes/odk/api.py:936 formshare/processes/odk/api.py:1371 msgid "No file was attached" @@ -361,139 +254,76 @@ msgid "Invalid file type" msgstr "Archivo de tipo inválido" #: formshare/processes/odk/api.py:1027 formshare/processes/odk/api.py:1465 -msgid "" -"The variable {} used to identify the cases is invalid. Only text, " -"calculates or integers are allowed." -msgstr "" -"La variable {} utilizada para identificar los casos no es válida. Solo se" -" permiten texto, calcular, o números enteros." +msgid "The variable {} used to identify the cases is invalid. Only text, calculates or integers are allowed." +msgstr "La variable {} utilizada para identificar los casos no es válida. Solo se permiten texto, calcular, o números enteros." #: formshare/processes/odk/api.py:1048 formshare/processes/odk/api.py:1486 -msgid "" -"The variable {} used to label cases was not found or is invalid. Only " -"text, calculates or integers are allowed." -msgstr "" -"La variable {} utilizada para etiquetar los casos no se encontró o no es " -"válida. Solamente se permiten texto, calcular, o números enteros." +msgid "The variable {} used to label cases was not found or is invalid. Only text, calculates or integers are allowed." +msgstr "La variable {} utilizada para etiquetar los casos no se encontró o no es válida. Solamente se permiten texto, calcular, o números enteros." #: formshare/processes/odk/api.py:1076 -msgid "" -"The variable {} used to search and select cases was not found or is " -"invalid. The variable must be select_one_from_file using a CSV file or a " -"barcode" -msgstr "" -"La variable {} utilizada para buscar y seleccionar casos no se encontró o" -" es inválida. La variable debe ser select_one_from_file usando un archivo" -" CSV o una variable de código de barras." +msgid "The variable {} used to search and select cases was not found or is invalid. The variable must be select_one_from_file using a CSV file or a barcode" +msgstr "La variable {} utilizada para buscar y seleccionar casos no se encontró o es inválida. La variable debe ser select_one_from_file usando un archivo CSV o una variable de código de barras." #: formshare/processes/odk/api.py:1091 formshare/processes/odk/api.py:1530 -msgid "" -"The variable {} used to record a date or date and time was not found or " -"is invalid. The variable must be date or datetime." -msgstr "" -"La variable {} utilizada para registrar la fecha no se encontró o es " -"inválida. La variable debe de ser \"date\" o \"datetime\"." +msgid "The variable {} used to record a date or date and time was not found or is invalid. The variable must be date or datetime." +msgstr "La variable {} utilizada para registrar la fecha no se encontró o es inválida. La variable debe de ser \"date\" o \"datetime\"." #: formshare/processes/odk/api.py:1310 msgid "The form already exists in this project" msgstr "El formulario ya existe en este proyecto" #: formshare/processes/odk/api.py:1314 formshare/processes/odk/api.py:1796 -msgid "" -"The form ID has especial characters. FormShare only allows letters, " -"numbers and underscores(_)" -msgstr "" -"El identificador del formulario posee caracteres inválidos. FormShare " -"solo permite letras, números y guion bajo" +msgid "The form ID has especial characters. FormShare only allows letters, numbers and underscores(_)" +msgstr "El identificador del formulario posee caracteres inválidos. FormShare solo permite letras, números y guion bajo" #: formshare/processes/odk/api.py:1321 msgid "Cannot find XForm ID. Please include this ODK form in an issue on " -msgstr "" -"No se pudo encontrar el identificador del formulario. Por favor reporte " -"este problema en" +msgstr "No se pudo encontrar el identificador del formulario. Por favor reporte este problema en" #: formshare/processes/odk/api.py:1514 -msgid "" -"The variable {} used to search and select cases was not found or is " -"invalid. The variable must be select_one_from_file using a CSV file or a " -"barcode." -msgstr "" -"La variable {} utilizada para buscar y seleccionar casos no se encontró o" -" es inválida. La variable debe ser select_one_from_file usando un archivo" -" CSV o una variable de código de barras." +msgid "The variable {} used to search and select cases was not found or is invalid. The variable must be select_one_from_file using a CSV file or a barcode." +msgstr "La variable {} utilizada para buscar y seleccionar casos no se encontró o es inválida. La variable debe ser select_one_from_file usando un archivo CSV o una variable de código de barras." #: formshare/processes/odk/api.py:1784 msgid "The form does not exist in this project" msgstr "El formulario no existe en este proyecto" #: formshare/processes/odk/api.py:1788 -msgid "" -"The \"form_id\" of the current form does not match the \"form_id\" of the" -" one you uploaded. You cannot update a form with another form." -msgstr "" -"El identificador del formulario no calza con el identificador del " -"formulario que acaba de subir. Usted no puede actualizar un formulario " -"con otro completamente distinto" +msgid "The \"form_id\" of the current form does not match the \"form_id\" of the one you uploaded. You cannot update a form with another form." +msgstr "El identificador del formulario no calza con el identificador del formulario que acaba de subir. Usted no puede actualizar un formulario con otro completamente distinto" #: formshare/processes/odk/api.py:1803 msgid "Cannot find XForm ID. Please post the form as an issue on " -msgstr "" -"No se pudo encontrar el identificador del formulario. Por favor reporte " -"este problema en" +msgstr "No se pudo encontrar el identificador del formulario. Por favor reporte este problema en" #: formshare/processes/odk/api.py:2535 -msgid "" -"The language \"{}\" is missing in this version of the form and cannot be " -"merged.\n" +msgid "The language \"{}\" is missing in this version of the form and cannot be merged.\n" "\n" -"Use the \"Fix language\" button to set the languages in this version of " -"the ODK Form." -msgstr "" -"El idioma \"{}\" no está presente en esta versión del formulario y no se " -"puedefusionado.\n" +"Use the \"Fix language\" button to set the languages in this version of the ODK Form." +msgstr "El idioma \"{}\" no está presente en esta versión del formulario y no se puedefusionado.\n" "\n" -"Utilice el botón \"Corregir idioma\" para configurar los idiomas en esta " -"versión deel formulario ODK." +"Utilice el botón \"Corregir idioma\" para configurar los idiomas en esta versión deel formulario ODK." #: formshare/processes/odk/api.py:2541 -msgid "" -"The language called \"default\" appears when you have a \"label\" without" -" indicating a language. For example if you had a column called \"label\" " -"and another called \"label:English (es)\" then \"default\" refers to the " -"language of \"label\" which was not indicated in the previous version of " -"this ODK Form.\n" +msgid "The language called \"default\" appears when you have a \"label\" without indicating a language. For example if you had a column called \"label\" and another called \"label:English (es)\" then \"default\" refers to the language of \"label\" which was not indicated in the previous version of this ODK Form.\n" "\n" -"In this new version you added the language to the \"label\" therefore " -"\"default\" does not exists" -msgstr "" -"El idioma llamado \"predeterminado\" aparece cuando tienes un \"label\" " -"sin indicar el idioma. Por ejemplo, si tuvieras una columna llamada " -"\"label\"y otra llamada \"label::English (es)\", entonces " -"\"predeterminado\" se refiere alidioma del \"label\" que no se indicó su " -"idioma en la versión anterior deeste formulario ODK. \n" +"In this new version you added the language to the \"label\" therefore \"default\" does not exists" +msgstr "El idioma llamado \"predeterminado\" aparece cuando tienes un \"label\" sin indicar el idioma. Por ejemplo, si tuvieras una columna llamada \"label\"y otra llamada \"label::English (es)\", entonces \"predeterminado\" se refiere alidioma del \"label\" que no se indicó su idioma en la versión anterior deeste formulario ODK. \n" "\n" -"En esta nueva versión, agregó el idioma a \"label\", por lo " -"tanto\"predeterminado\" no existe" +"En esta nueva versión, agregó el idioma a \"label\", por lo tanto\"predeterminado\" no existe" #: formshare/processes/odk/api.py:2557 -msgid "" -"This version of the form is in multiple languages but the previous one " -"was not and therefore and cannot be merged.\n" +msgid "This version of the form is in multiple languages but the previous one was not and therefore and cannot be merged.\n" "\n" -"Use the \"Fix language\" button to set the languages in this version of " -"the ODK Form." -msgstr "" -"Esta versión del formulario está en varios idiomas, pero la anteriorno y " -"por lo tanto, no se puede fusionar.\n" +"Use the \"Fix language\" button to set the languages in this version of the ODK Form." +msgstr "Esta versión del formulario está en varios idiomas, pero la anteriorno y por lo tanto, no se puede fusionar.\n" "\n" -"Utilice el botón \"Corregir idioma\" para configurar los idiomas en esta " -"versión delformulario ODK." +"Utilice el botón \"Corregir idioma\" para configurar los idiomas en esta versión delformulario ODK." #: formshare/processes/odk/api.py:3693 -msgid "" -"Generating Diff HTML file error. Diff file for such commit does not exist" -msgstr "" -"Error al generar el archivo Diff HTML de error. El archivo diff no existe" +msgid "Generating Diff HTML file error. Diff file for such commit does not exist" +msgstr "Error al generar el archivo Diff HTML de error. El archivo diff no existe" #: formshare/processes/odk/geojson.py:27 msgid "The GeoJSON file has features that are not feature" @@ -513,9 +343,7 @@ msgstr "El archivo GeoJSON tiene características sin propiedades" #: formshare/processes/odk/geojson.py:48 msgid "The GeoJSON file has features with properties without id or label" -msgstr "" -"El archivo GeoJSON tiene características con propiedades sin id ni " -"etiqueta" +msgstr "El archivo GeoJSON tiene características con propiedades sin id ni etiqueta" #: formshare/processes/odk/geojson.py:52 msgid "The GeoJSON file does not have features" @@ -531,20 +359,15 @@ msgstr "No se puede abrir el archivo GeoJson" #: formshare/processes/settings/settings.py:27 msgid "Error storing setting for key {}. The key already exits." -msgstr "" -"Error al almacenar la configuración para la llave {}. La llave ya existe" +msgstr "Error al almacenar la configuración para la llave {}. La llave ya existe" #: formshare/processes/submission/api.py:270 msgid "There are no media files to download" msgstr "No hay multimedios para descargar" #: formshare/processes/submission/api.py:410 -msgid "" -"This form was uploaded using an old version of ODK Tools. Please upload " -"it again." -msgstr "" -"Este formulario fue subido usando una versión antigua de ODK Tools. Por " -"favor súbalo nuevamente." +msgid "This form was uploaded using an old version of ODK Tools. Please upload it again." +msgstr "Este formulario fue subido usando una versión antigua de ODK Tools. Por favor súbalo nuevamente." #: formshare/processes/submission/api.py:461 msgid "Error while creating dummy file" @@ -585,15 +408,11 @@ msgstr "Error interno en AJAX. Reporte este problema en" #: formshare/processes/submission/api.py:1185 msgid "Cannot update value. Check the valid values in lookup table " -msgstr "" -"No se pudo actualizar el valor. Revise si el valor está en la tabla de " -"búsqueda asociada" +msgstr "No se pudo actualizar el valor. Revise si el valor está en la tabla de búsqueda asociada" #: formshare/processes/submission/api.py:1198 msgid "Cannot update value. Check the valid values in lookup table" -msgstr "" -"No se pudo actualizar el valor. Revise si el valor está en la tabla de " -"búsqueda asociada" +msgstr "No se pudo actualizar el valor. Revise si el valor está en la tabla de búsqueda asociada" #: formshare/products/products.py:111 msgid "Import FormShare 1.0 data" @@ -734,39 +553,20 @@ msgid "There are no media files" msgstr "No hay archivos de multimedios" #: formshare/products/export/xlsx/celery_task.py:129 -msgid "" -"A worksheet name has been repeated. Excel only allow 30 characters in the" -" worksheet name. You can fix this by editing the dictionary and change " -"the description of the tables to a maximum of 30 characters." -msgstr "" -"Una de las hojas del Excel se ha repetido. Excel solo permite 30 " -"caracteres en el nombre de las hojas. Usted puede corregir este problema " -"editando el diccionario y cambiando las descripciones de las tablas a un " -"máximo de 30 caracteres." +msgid "A worksheet name has been repeated. Excel only allow 30 characters in the worksheet name. You can fix this by editing the dictionary and change the description of the tables to a maximum of 30 characters." +msgstr "Una de las hojas del Excel se ha repetido. Excel solo permite 30 caracteres en el nombre de las hojas. Usted puede corregir este problema editando el diccionario y cambiando las descripciones de las tablas a un máximo de 30 caracteres." #: formshare/products/export/xlsx/celery_task.py:138 -msgid "" -"Unknown error while creating the XLSX. Sorry about this. Please report " -"this error as an issue on https://github.com/qlands/FormShare" -msgstr "" -"Error desconocido al crear el archivo XLSX. Lamentamos este problema. Por" -" favor reporte este error en https://github.com/qlands/FormShare" +msgid "Unknown error while creating the XLSX. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" +msgstr "Error desconocido al crear el archivo XLSX. Lamentamos este problema. Por favor reporte este error en https://github.com/qlands/FormShare" #: formshare/products/export/zip_csv/celery_task.py:141 -msgid "" -"Unknown error while creating the CSV Zip. Sorry about this. Please report" -" this error as an issue on https://github.com/qlands/FormShare" -msgstr "" -"Error desconocido al crear el CSV Zip. Lo sentimos. Por favor, informe " -"este error como un problema en https://github.com/qlands/FormShare" +msgid "Unknown error while creating the CSV Zip. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" +msgstr "Error desconocido al crear el CSV Zip. Lo sentimos. Por favor, informe este error como un problema en https://github.com/qlands/FormShare" #: formshare/products/export/zip_json/celery_task.py:141 -msgid "" -"Unknown error while creating the JSON Zip. Sorry about this. Please " -"report this error as an issue on https://github.com/qlands/FormShare" -msgstr "" -"Error desconocido al crear el Zip JSON. Lo sentimos. Por favor, informe " -"de este error como un problema en https://github.com/qlands/FormShare" +msgid "Unknown error while creating the JSON Zip. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" +msgstr "Error desconocido al crear el Zip JSON. Lo sentimos. Por favor, informe de este error como un problema en https://github.com/qlands/FormShare" #: formshare/products/merge/celery_task.py:135 msgid "Creating backup of schema" @@ -810,39 +610,36 @@ msgid "Inserting lookup values..." msgstr "Insertando los datos en las tablas de vistas..." #: formshare/products/xmlimport/celery_task.py:83 -msgid "" -"-Error {} while pushing submission {} to URL {}. Error \n" +msgid "-Error {} while pushing submission {} to URL {}. Error \n" "\n" "{}\n" "\n" -msgstr "" -"-Error {} al subir el envío {} a la dirección {}. Error \n" +"" +msgstr "-Error {} al subir el envío {} a la dirección {}. Error \n" "\n" "{}\n" "\n" +"" #: formshare/products/xmlimport/celery_task.py:92 msgid "-Submission {} imported successfully" msgstr "-Envío {} importado satisfactoriamente" #: formshare/products/xmlimport/celery_task.py:95 -msgid "" -"-Error while pushing submission {} to URL {}. Error \n" +msgid "-Error while pushing submission {} to URL {}. Error \n" "\n" "{}\n" "\n" -msgstr "" -"-Error al subir el envío {} a la dirección {}. Error \n" +"" +msgstr "-Error al subir el envío {} a la dirección {}. Error \n" "\n" "{}\n" "\n" +"" #: formshare/products/xmlimport/celery_task.py:101 -msgid "" -"-The directory {} does not have any submission files or it does not have " -"an xml data file" -msgstr "" -"-El directorio {} no posee ningún envío o no posee un archivo de datos XML" +msgid "-The directory {} does not have any submission files or it does not have an xml data file" +msgstr "-El directorio {} no posee ningún envío o no posee un archivo de datos XML" #: formshare/products/xmlimport/celery_task.py:122 msgid "Writing report" @@ -852,8 +649,7 @@ msgstr "Escribiendo el reporte" msgid "Report of the XML import" msgstr "Reporte de la importación XML" -#: formshare/templates/base.jinja2:15 -#: formshare/templates/dashboard/index.jinja2:16 +#: formshare/templates/base.jinja2:15 formshare/templates/dashboard/index.jinja2:16 #: formshare/templates/dashboard/profile/snippets/brdcrbs_profile.jinja2:5 #: formshare/templates/dashboard/profile/snippets/brdcrbs_profile_edit.jinja2:5 #: formshare/templates/dashboard/projects/assistant_groups/members/snippets/brdcrbs_memlist.jinja2:5 @@ -947,9 +743,9 @@ msgstr "Use esta imagen QR para configurar ODK Collect" #: formshare/templates/dashboard/partners/partner_edit.jinja2:49 #: formshare/templates/dashboard/partners/snippets/partner_password_form.jinja2:23 #: formshare/templates/dashboard/profile/profile_edit.jinja2:142 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:105 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:131 -#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:38 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:114 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:140 +#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:39 #: formshare/templates/dashboard/users/snippets/user_password_form.jinja2:22 #: formshare/templates/dashboard/users/user_edit.jinja2:49 #: formshare/templates/partner/page.jinja2:137 @@ -958,7 +754,7 @@ msgid "Change password" msgstr "Cambiar la contraseña" #: formshare/templates/assistant/page.jinja2:148 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:106 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:115 #: formshare/templates/partner/page.jinja2:138 msgid "Change the password of" msgstr "Cambiando la contraseña de" @@ -971,7 +767,7 @@ msgstr "Contraseña anterior" #: formshare/templates/assistant/page.jinja2:161 #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:49 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:114 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:123 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:44 #: formshare/templates/dashboard/users/snippets/user_form.jinja2:23 #: formshare/templates/generic/assistant_login.jinja2:31 @@ -984,7 +780,7 @@ msgstr "Contraseña" #: formshare/templates/assistant/page.jinja2:168 #: formshare/templates/dashboard/profile/profile_edit.jinja2:133 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:121 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:130 #: formshare/templates/partner/page.jinja2:157 msgid "Confirmation" msgstr "Confirmación" @@ -994,8 +790,9 @@ msgstr "Confirmación" #: formshare/templates/assistant/page.jinja2:175 #: formshare/templates/assistant/page.jinja2:216 #: formshare/templates/assistant/page.jinja2:247 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:138 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:130 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:140 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:139 +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:23 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:103 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:136 #: formshare/templates/dashboard/projects/forms/dictionary/snippets/change_field_name.jinja2:23 @@ -1065,14 +862,8 @@ msgstr "Generar nueva contraseña" #: formshare/templates/assistant/page.jinja2:210 #: formshare/templates/dashboard/profile/profile_edit.jinja2:99 -msgid "" -"You can generate the API secret at any time. However, it will be readable" -" only onetime after you generate it. Save it somewhere safe after you " -"generate it." -msgstr "" -"Usted puede generar la contraseña API en cualquier momento. Sin embargo, " -"sólo será visible una vez después de generarla. Guárdela en un lugar " -"seguro después de generarla." +msgid "You can generate the API secret at any time. However, it will be readable only onetime after you generate it. Save it somewhere safe after you generate it." +msgstr "Usted puede generar la contraseña API en cualquier momento. Sin embargo, sólo será visible una vez después de generarla. Guárdela en un lugar seguro después de generarla." #: formshare/templates/assistant/page.jinja2:229 #: formshare/templates/assistant/page.jinja2:248 @@ -1430,16 +1221,16 @@ msgid "Error" msgstr "Error" #: formshare/templates/assistant/jsonlogs/loglist.jinja2:94 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:63 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:74 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:65 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:83 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:70 msgid "Status" msgstr "Estado" #: formshare/templates/assistant/jsonlogs/loglist.jinja2:99 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:68 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:62 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:79 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:70 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:64 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:88 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:80 msgid "Actions" msgstr "Acciones" @@ -1538,13 +1329,8 @@ msgid "The value is already in use by submission" msgstr "El valor ya está en uso por el envío" #: formshare/templates/assistant/jsonlogs/snippets/error_item.jinja2:27 -msgid "" -"The duplicated submission cannot be found. It may have been moved to the " -"logs or deleted. You can push this submission into the database." -msgstr "" -"El envío duplicado no se pudo encontrar. Puede que haya sido trasladado " -"al registro de errores o haya sido eliminado. Usted puede ingresar este " -"envío a la base de datos" +msgid "The duplicated submission cannot be found. It may have been moved to the logs or deleted. You can push this submission into the database." +msgstr "El envío duplicado no se pudo encontrar. Puede que haya sido trasladado al registro de errores o haya sido eliminado. Usted puede ingresar este envío a la base de datos" #: formshare/templates/assistant/jsonlogs/snippets/error_item.jinja2:50 #: formshare/templates/assistant/jsonlogs/snippets/error_item.jinja2:76 @@ -1912,9 +1698,9 @@ msgstr "Si, continúe" #: formshare/templates/dashboard/index.jinja2:249 #: formshare/templates/dashboard/partners/partner_list.jinja2:113 #: formshare/templates/dashboard/profile/profile.jinja2:77 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:98 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:250 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:150 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:100 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:254 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:186 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:120 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:541 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:583 @@ -1973,17 +1759,13 @@ msgstr "para leer más" #: formshare/templates/dashboard/index.jinja2:193 #: formshare/templates/dashboard/projects/project_details.jinja2:95 -msgid "" -"Follow-up forms attach information to a case at different points in time." -msgstr "" -"Los formularios de seguimiento adjuntan información a un caso en " -"diferentes momentos en el tiempo" +msgid "Follow-up forms attach information to a case at different points in time." +msgstr "Los formularios de seguimiento adjuntan información a un caso en diferentes momentos en el tiempo" #: formshare/templates/dashboard/index.jinja2:200 #: formshare/templates/dashboard/projects/project_details.jinja2:102 msgid "Deactivate forms change the status of a case to inactive." -msgstr "" -"Los formularios de desactivación cambian el estado de un caso a inactivo." +msgstr "Los formularios de desactivación cambian el estado de un caso a inactivo." #: formshare/templates/dashboard/index.jinja2:200 #: formshare/templates/dashboard/projects/project_details.jinja2:102 @@ -2003,14 +1785,8 @@ msgstr "Por ejemplo, un hogar que decide participar nuevamente en un estudio." #: formshare/templates/dashboard/index.jinja2:244 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:544 #: formshare/templates/dashboard/projects/project_details.jinja2:317 -msgid "" -"Warning, you are going to delete a form that is a subversion of another " -"form. This means that you will REMOVE ALL the data, including previous " -"versions of the data as well!!!" -msgstr "" -"Advertencia, va a eliminar un formulario que es una subversión de otro " -"formulario. ¡¡¡Esto significa que ELIMINARÁ TODOS los datos, incluidos " -"los de las otras versiones!!!" +msgid "Warning, you are going to delete a form that is a subversion of another form. This means that you will REMOVE ALL the data, including previous versions of the data as well!!!" +msgstr "Advertencia, va a eliminar un formulario que es una subversión de otro formulario. ¡¡¡Esto significa que ELIMINARÁ TODOS los datos, incluidos los de las otras versiones!!!" #: formshare/templates/dashboard/index.jinja2:245 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:545 @@ -2032,9 +1808,9 @@ msgstr "¡Si, borre este formulario!" #: formshare/templates/dashboard/index.jinja2:258 #: formshare/templates/dashboard/index.jinja2:292 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:103 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:255 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:155 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:105 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:259 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:191 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:125 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:335 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:368 @@ -2146,25 +1922,12 @@ msgid "FormShare partners" msgstr "Socios en FormShare" #: formshare/templates/dashboard/partners/partner_list.jinja2:37 -msgid "" -"Partners are trusted individuals outside your organization that require " -"access to products and other resources in FormShare to collaborate with " -"you. For example, a professor at a university (a partner in your project)" -" requiring a KML export to match GPS points with weather data." -msgstr "" -"Los socios son personas de confianza fuera de su organización que " -"requierenacceso a productos y otros recursos en FormShare para " -"colaborarusted. Por ejemplo, un profesor de una universidad (un socio en " -"su proyecto) que requiere una exportación KML para hacer coincidir puntos" -" GPS con datos meteorológicos." +msgid "Partners are trusted individuals outside your organization that require access to products and other resources in FormShare to collaborate with you. For example, a professor at a university (a partner in your project) requiring a KML export to match GPS points with weather data." +msgstr "Los socios son personas de confianza fuera de su organización que requierenacceso a productos y otros recursos en FormShare para colaborarusted. Por ejemplo, un profesor de una universidad (un socio en su proyecto) que requiere una exportación KML para hacer coincidir puntos GPS con datos meteorológicos." #: formshare/templates/dashboard/partners/partner_list.jinja2:38 -msgid "" -"After adding a partner you can link it either to a project or to " -"individual forms within a project." -msgstr "" -"Después de agregar un socio, puede vincularlo a un proyecto o " -"aformularios individuales dentro de un proyecto." +msgid "After adding a partner you can link it either to a project or to individual forms within a project." +msgstr "Después de agregar un socio, puede vincularlo a un proyecto o aformularios individuales dentro de un proyecto." #: formshare/templates/dashboard/partners/partner_list.jinja2:54 msgid "Search for a partner" @@ -2172,8 +1935,7 @@ msgstr "Buscar un socio" #: formshare/templates/dashboard/partners/partner_list.jinja2:55 msgid "You can search by full name, email address or organization" -msgstr "" -"Usted puede buscar por nombre completo, correo electrónico u organización" +msgstr "Usted puede buscar por nombre completo, correo electrónico u organización" #: formshare/templates/dashboard/partners/partner_list.jinja2:64 msgid "View activity" @@ -2218,7 +1980,7 @@ msgstr "Listado de socios" #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:9 #: formshare/templates/dashboard/profile/snippets/social_tab.jinja2:24 #: formshare/templates/dashboard/profile/snippets/social_tab.jinja2:26 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:64 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:73 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:16 #: formshare/templates/dashboard/users/snippets/user_form.jinja2:16 #: formshare/templates/generic/register.jinja2:19 @@ -2238,15 +2000,11 @@ msgstr "Organización" #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:36 #: formshare/templates/dashboard/partners/snippets/partner_form_edit.jinja2:16 -msgid "" -"This should be the time zone where the partner performs activities. As a " -"reference, FormShare's time zone is " -msgstr "" -"Esta debe ser la zona horaria en la que el socio realiza actividades. " -"Como referencia, la zona horaria de FormShare es " +msgid "This should be the time zone where the partner performs activities. As a reference, FormShare's time zone is " +msgstr "Esta debe ser la zona horaria en la que el socio realiza actividades. Como referencia, la zona horaria de FormShare es " #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:42 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:69 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:78 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:37 #: formshare/templates/landing/snippets/contact.jinja2:19 msgid "Telephone" @@ -2302,8 +2060,8 @@ msgid "Edit Profile" msgstr "Editar Perfil" #: formshare/templates/dashboard/profile/profile_edit.jinja2:36 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:52 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:59 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:54 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:68 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:60 #: formshare/templates/dashboard/projects/forms/snippets/edit_form.jinja2:5 #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:10 @@ -2315,26 +2073,17 @@ msgid "Bio data" msgstr "Biografía" #: formshare/templates/dashboard/profile/profile_edit.jinja2:54 -msgid "" -"This should be your current time zone. As a reference, FormShare's time " -"zone is " -msgstr "" -"Esta debería ser su zona horaria actual. Como referencia, la zona horaria" -" de FormShare es " +msgid "This should be your current time zone. As a reference, FormShare's time zone is " +msgstr "Esta debería ser su zona horaria actual. Como referencia, la zona horaria de FormShare es " #: formshare/templates/dashboard/profile/profile_edit.jinja2:65 msgid "Save changes" msgstr "Salvar cambios" #: formshare/templates/dashboard/profile/profile_edit.jinja2:87 -msgid "" -"Never share your API key. If you change your API key, you need to change " -"your API secret." -msgstr "" -"No comparta nunca su llave API. Si cambias tu llave API, tienes que " -"cambiar la contraseña API." +msgid "Never share your API key. If you change your API key, you need to change your API secret." +msgstr "No comparta nunca su llave API. Si cambias tu llave API, tienes que cambiar la contraseña API." -# | msgid "Case creator" #: formshare/templates/dashboard/profile/profile_edit.jinja2:91 msgid "API secret" msgstr "Contraseña API" @@ -2351,8 +2100,8 @@ msgstr "Acerca de" #: formshare/templates/dashboard/profile/snippets/about_tab.jinja2:30 #: formshare/templates/dashboard/profile/snippets/brdcrbs_profile_edit.jinja2:11 #: formshare/templates/dashboard/profile/snippets/profile_head.jinja2:23 -#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:26 -#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:39 +#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:27 +#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:40 #: formshare/templates/dashboard/projects/snippets/brdcrbs_prjedit.jinja2:14 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:14 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:49 @@ -2378,7 +2127,7 @@ msgid "Collaborations" msgstr "Colaboraciones" #: formshare/templates/dashboard/profile/snippets/profile_head.jinja2:33 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:57 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:59 msgid "Joined" msgstr "Se unió el" @@ -2467,7 +2216,7 @@ msgstr "Añadir nuevo proyecto" msgid "Information for the new project" msgstr "Información para el nuevo proyecto" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:110 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:112 #: formshare/templates/dashboard/projects/project_details.jinja2:18 msgid "Project" msgstr "Proyecto" @@ -2482,9 +2231,9 @@ msgstr "Editando las opciones del socio" msgid "Are you sure that you want to remove " msgstr "Está seguro de que quiere borrar a" -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:102 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:254 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:154 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:104 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:258 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:190 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:124 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:587 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:643 @@ -2545,21 +2294,17 @@ msgid "Assistant groups" msgstr "Grupos de asistentes" #: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:34 -msgid "" -"Groups allow you to aggregate assistants with something in common. For " -"example, \"Data collectors\"" -msgstr "" -"Grupos de asistentes le permite agregar asistentes con ciertas " -"características en común. Por ejemplo, \"recolectores de datos\"" +msgid "Groups allow you to aggregate assistants with something in common. For example, \"Data collectors\"" +msgstr "Grupos de asistentes le permite agregar asistentes con ciertas características en común. Por ejemplo, \"recolectores de datos\"" -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:45 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:46 #: formshare/templates/dashboard/projects/assistant_groups/snippets/brdcrbs_groupedit.jinja2:2 #: formshare/templates/dashboard/projects/assistant_groups/snippets/group_form.jinja2:17 #: formshare/templates/dashboard/projects/forms/snippets/add_group.jinja2:40 msgid "Add group" msgstr "Añadir grupo" -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:58 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:60 #: formshare/templates/dashboard/projects/assistant_groups/snippets/group_form.jinja2:5 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:65 msgid "Description" @@ -2570,35 +2315,33 @@ msgstr "Descripción" msgid "Members in" msgstr "Miembros en" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:41 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:42 msgid "Add member" msgstr "Añadir miembro" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:84 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:139 -#| msgid "Add assistant" +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:86 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:141 +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:3 msgid "Add assistants" msgstr "Añadir asistentes" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:90 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:92 msgid "Check all" msgstr "Marcar todos" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:93 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:95 msgid "Uncheck all" msgstr "Desmarcar todos" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:100 -#| msgid "Delete project" +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:102 msgid "Filter by project" msgstr "Filtrar por proyecto" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:104 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:106 msgid "Note: Assistants excluded by a filter will be automatically unchecked" -msgstr "" -"Nota: Los asistentes excluidos por un filtro se desmarcarán automáticamente" +msgstr "Nota: Los asistentes excluidos por un filtro se desmarcarán automáticamente" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:111 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:113 #: formshare/templates/dashboard/projects/forms/import_data/import_form.jinja2:54 #: formshare/templates/dashboard/projects/forms/snippets/add_assistant.jinja2:13 #: formshare/templates/dashboard/projects/forms/submissions/snippets/move_to_logs.jinja2:15 @@ -2616,13 +2359,12 @@ msgstr "Miembros del grupo" msgid "Groups" msgstr "Grupos" -#: formshare/templates/dashboard/projects/assistant_groups/members/snippets/member_item.jinja2:19 +#: formshare/templates/dashboard/projects/assistant_groups/members/snippets/member_item.jinja2:20 #: formshare/templates/dashboard/projects/collaborators/snippets/collaborator_item.jinja2:38 msgid "Remove" msgstr "Eliminar" #: formshare/templates/dashboard/projects/assistant_groups/snippets/brdcrbs_groupadd.jinja2:2 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:45 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:67 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistadd.jinja2:2 #: formshare/templates/dashboard/projects/forms/snippets/add_assistant.jinja2:44 @@ -2662,8 +2404,8 @@ msgstr "Inactivo" msgid "Members" msgstr "Miembros" -#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:27 -#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:40 +#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:28 +#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:41 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:109 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:114 #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:84 @@ -2686,7 +2428,7 @@ msgid "Edit assistant" msgstr "Editar asistente" #: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:4 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:32 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:38 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistadd.jinja2:14 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistedit.jinja2:14 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistlist.jinja2:14 @@ -2696,14 +2438,30 @@ msgstr "Editar asistente" msgid "Assistants" msgstr "Asistentes" -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:34 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:40 msgid "Assistants help you collect and clean data." msgstr "Los asistentes le ayudan a recolectar y limpiar datos" -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:182 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:218 msgid "Changing password for" msgstr "Cambiar contraseña de" +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:6 +msgid "Add one" +msgstr "Añadir uno" + +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:9 +msgid "Add many from CSV file" +msgstr "Añadir muchos desde archivo CSV" + +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:11 +msgid "Download template file" +msgstr "Descargar plantilla" + +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:12 +msgid "Upload CSV file" +msgstr "Cargar archivo CSV" + #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:5 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form_edit.jinja2:4 #: formshare/templates/generic/assistant_login.jinja2:28 @@ -2711,35 +2469,21 @@ msgid "Assistant ID" msgstr "Identificador del asistente" #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:6 -msgid "" -"This is a simple name to identify the assistant in FormShare. It is the " -"name that the assistant will use in ODK Collect. The assistant id must be" -" unique and cannot be changed afterward." -msgstr "" -"Este es un nombre simple para identificar al asistente en FormShare. Es " -"el nombre que usará el asistente en ODK Collect. La identificación del " -"asistente debe ser única y no se puede cambiar posteriormente." +msgid "This is a simple name to identify the assistant in FormShare. It is the name that the assistant will use in ODK Collect. The assistant id must be unique and cannot be changed afterward." +msgstr "Este es un nombre simple para identificar al asistente en FormShare. Es el nombre que usará el asistente en ODK Collect. La identificación del asistente debe ser única y no se puede cambiar posteriormente." #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:31 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form_edit.jinja2:18 -msgid "" -"This should be the time zone where the assistant performs activities. As " -"a reference, FormShare's time zone is " -msgstr "" -"Esta debe ser la zona horaria en la que el asistente realiza actividades." -" Como referencia, la zona horaria de FormShare es " +msgid "This should be the time zone where the assistant performs activities. As a reference, FormShare's time zone is " +msgstr "Esta debe ser la zona horaria en la que el asistente realiza actividades. Como referencia, la zona horaria de FormShare es " #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:57 msgid "Share among projects" msgstr "Compartir entre proyectos" #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:58 -msgid "" -"This means that this person can assist different projects within your " -"account." -msgstr "" -"Esto significa que esta persona puede apoyar en varios proyectos en su " -"cuenta" +msgid "This means that this person can assist different projects within your account." +msgstr "Esto significa que esta persona puede apoyar en varios proyectos en su cuenta" #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form_edit.jinja2:48 msgid "Modify assistant" @@ -2753,6 +2497,25 @@ msgstr "Compartido" msgid "Assistant list" msgstr "Listado de asistentes" +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:7 +#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:7 +#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:7 +msgid "Upload file" +msgstr "Subir archivo" + +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:17 +#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:17 +#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:17 +msgid "Choose files" +msgstr "Escoger archivos" + +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:24 +#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:30 +#: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:117 +#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:30 +msgid "Upload" +msgstr "Subir" + #: formshare/templates/dashboard/projects/collaborators/accept_collaboration.jinja2:5 #: formshare/templates/dashboard/projects/collaborators/accept_collaboration.jinja2:39 #: formshare/templates/dashboard/projects/collaborators/snippets/brdcrbs_accept_collaboration.jinja2:8 @@ -2859,20 +2622,12 @@ msgid "Changes made to the survey" msgstr "Cambios realizados en el formulario" #: formshare/templates/dashboard/projects/forms/compare_forms.jinja2:31 -msgid "" -"This shows only structural changes. It does not show any changes in " -"logic, descriptions, order, or choices." -msgstr "" -"Esto muestra sólo los cambios estructurales. No muestra ningún cambio en " -"la lógica, las descripciones, el orden o las opciones." +msgid "This shows only structural changes. It does not show any changes in logic, descriptions, order, or choices." +msgstr "Esto muestra sólo los cambios estructurales. No muestra ningún cambio en la lógica, las descripciones, el orden o las opciones." #: formshare/templates/dashboard/projects/forms/compare_forms.jinja2:54 -msgid "" -"This new version does not have any structural changes from its former " -"version." -msgstr "" -"Esta nueva versión no tiene ningún cambio estructural respecto a su " -"anterior versión." +msgid "This new version does not have any structural changes from its former version." +msgstr "Esta nueva versión no tiene ningún cambio estructural respecto a su anterior versión." #: formshare/templates/dashboard/projects/forms/form_details.jinja2:119 #: formshare/templates/partner/form_details.jinja2:4 @@ -2916,12 +2671,8 @@ msgid "You do not have a single field marked as sensitive!" msgstr "¡Usted no tiene ningún campo marcado como sensitivo!" #: formshare/templates/dashboard/projects/forms/form_details.jinja2:399 -msgid "" -"IF YOU CONTINUE YOU MIGHT BE AT RISK OF MAKING SENSITIVE DATA PUBLICLY " -"AVAILABLE!" -msgstr "" -"SI USTED CONTINUA PUDIERA ESTAR EN RIEGO DE PONER DATOS SENSITIVOS " -"DISPONIBLES AL PUBLICO" +msgid "IF YOU CONTINUE YOU MIGHT BE AT RISK OF MAKING SENSITIVE DATA PUBLICLY AVAILABLE!" +msgstr "SI USTED CONTINUA PUDIERA ESTAR EN RIEGO DE PONER DATOS SENSITIVOS DISPONIBLES AL PUBLICO" #: formshare/templates/dashboard/projects/forms/form_details.jinja2:405 msgid "Yes, publish it" @@ -2951,38 +2702,19 @@ msgstr "El archivo CSV de casos en tiempo real" #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:31 msgid "The real-time CSV case file has been created. You can adjust it below." -msgstr "" -"Se ha creado el archivo CSV de casos en tiempo real. Puede ajustarlo " -"abajo." +msgstr "Se ha creado el archivo CSV de casos en tiempo real. Puede ajustarlo abajo." #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:42 -msgid "" -"The real-time CSV case file provides information on each case to follow-" -"up case forms. For example, use the sex of a participant (e.g., female) " -"in follow-up case forms to ask specific questions according to sex (e.g.," -" if female, do they have access to reproductive health services?)" -msgstr "" -"El archivo CSV de casos en tiempo real proporciona información sobre cada" -" caso para utilizarlo en formularios de seguimiento. Por ejemplo, el sexo" -" de un participante (p. ej.,mujer) podrían usarse en formularios de " -"seguimiento de para hacer preguntas específicas según el sexo (p. ej., si" -" es mujer, ¿tienen acceso a servicios de salud reproductiva?)" +msgid "The real-time CSV case file provides information on each case to follow-up case forms. For example, use the sex of a participant (e.g., female) in follow-up case forms to ask specific questions according to sex (e.g., if female, do they have access to reproductive health services?)" +msgstr "El archivo CSV de casos en tiempo real proporciona información sobre cada caso para utilizarlo en formularios de seguimiento. Por ejemplo, el sexo de un participante (p. ej.,mujer) podrían usarse en formularios de seguimiento de para hacer preguntas específicas según el sexo (p. ej., si es mujer, ¿tienen acceso a servicios de salud reproductiva?)" #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:43 -msgid "" -"Each time a new case arrives in FormShare, the platform will update this " -"CSV file. You can adjust below what information goes into the CSV file." -msgstr "" -"Cada vez que llega un nuevo caso a FormShare, la plataforma actualizará " -"estearchivo CSV. Usted puede ajustar a continuación la información que se" -" incluye en el archivo CSV." +msgid "Each time a new case arrives in FormShare, the platform will update this CSV file. You can adjust below what information goes into the CSV file." +msgstr "Cada vez que llega un nuevo caso a FormShare, la plataforma actualizará estearchivo CSV. Usted puede ajustar a continuación la información que se incluye en el archivo CSV." #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:43 -msgid "" -"to download an example of this file so you can use it in follow-up forms." -msgstr "" -"para descargar un ejemplo de este archivo para que pueda utilizarlo en " -"sus formularios de seguimiento." +msgid "to download an example of this file so you can use it in follow-up forms." +msgstr "para descargar un ejemplo de este archivo para que pueda utilizarlo en sus formularios de seguimiento." #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:43 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:17 @@ -3089,18 +2821,12 @@ msgid "Data tables: Tables that contain the submitted data." msgstr "Tablas de datos: Tablas que contienen los datos de envíos" #: formshare/templates/dashboard/projects/forms/dictionary/edit_tables.jinja2:56 -msgid "" -"Multi-select tables: Each multi-select variable has its own table. Here " -"each option is stored in a separate row." -msgstr "" -"Tablas de múltiple selección: Cada variable de selección múltiple es " -"almacenada en tablas separadas. Aquí cada una de las opciones es " -"almacenada en líneas separadas." +msgid "Multi-select tables: Each multi-select variable has its own table. Here each option is stored in a separate row." +msgstr "Tablas de múltiple selección: Cada variable de selección múltiple es almacenada en tablas separadas. Aquí cada una de las opciones es almacenada en líneas separadas." #: formshare/templates/dashboard/projects/forms/dictionary/edit_tables.jinja2:68 msgid "Lookup tables: Contain the description of categorical variables." -msgstr "" -"Tablas de búsqueda: Contienen la descripción de las variables categóricas" +msgstr "Tablas de búsqueda: Contienen la descripción de las variables categóricas" #: formshare/templates/dashboard/projects/forms/dictionary/edit_tables.jinja2:79 msgid "Filter by table type" @@ -3286,9 +3012,7 @@ msgstr "Crear KML" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:32 msgid "Other data to include besides the geolocation and the primary key" -msgstr "" -"Otras variables a incluir además de la geo-localización y la llave " -"primaria" +msgstr "Otras variables a incluir además de la geo-localización y la llave primaria" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_xlsx.jinja2:2 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:4 @@ -3310,22 +3034,14 @@ msgstr "Exportar tablas multiselección" #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:41 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 -msgid "" -"When checked, FormShare will create a CSV file for each multiselect " -"table. But will not resolve multiselect fields. Click" -msgstr "" -"Cuando se marca, FormShare creará un archivo CSV para cada tabla " -"multiselect. Pero no resolverá los campos multiselección. Haga clic" +msgid "When checked, FormShare will create a CSV file for each multiselect table. But will not resolve multiselect fields. Click" +msgstr "Cuando se marca, FormShare creará un archivo CSV para cada tabla multiselect. Pero no resolverá los campos multiselección. Haga clic" #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:41 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 #: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 -msgid "" -"for more information about how FormShare stores \"select_multiple\" " -"variables." -msgstr "" -"para más información sobre cómo FormShare almacena las variables " -"\"select_multiple\"." +msgid "for more information about how FormShare stores \"select_multiple\" variables." +msgstr "para más información sobre cómo FormShare almacena las variables \"select_multiple\"." #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:47 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:47 @@ -3341,22 +3057,14 @@ msgstr "Exportar tablas de búsqueda" #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:50 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 -msgid "" -"When checked, FormShare will create a CSV file for each lookup table, but" -" it will not resolve option labels. Click" -msgstr "" -"Si se selecciona esta opción, FormShare creará un archivo CSV para cada " -"tabla de búsqueda, pero no resolverá las etiquetas de las opciones. Haga " -"clic" +msgid "When checked, FormShare will create a CSV file for each lookup table, but it will not resolve option labels. Click" +msgstr "Si se selecciona esta opción, FormShare creará un archivo CSV para cada tabla de búsqueda, pero no resolverá las etiquetas de las opciones. Haga clic" #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:50 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 #: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 -msgid "" -"for more information about how FormShare stores \"select_one\" variables." -msgstr "" -"para más información sobre cómo FormShare almacena las variables " -"\"select_one\"." +msgid "for more information about how FormShare stores \"select_one\" variables." +msgstr "para más información sobre cómo FormShare almacena las variables \"select_one\"." #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_csv.jinja2:2 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:4 @@ -3371,20 +3079,12 @@ msgid "Export to Zip JSON" msgstr "Exportar a Zip JSON" #: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 -msgid "" -"When checked, FormShare will create a JSON file for each multiselect " -"table, but it will not resolve multiselect fields. Click" -msgstr "" -"Si se marca, FormShare creará un archivo JSON para cada tabla " -"multiselect, pero no resolverá los campos multiselect. Haga clic" +msgid "When checked, FormShare will create a JSON file for each multiselect table, but it will not resolve multiselect fields. Click" +msgstr "Si se marca, FormShare creará un archivo JSON para cada tabla multiselect, pero no resolverá los campos multiselect. Haga clic" #: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 -msgid "" -"When checked, FormShare will create a JSON file for each lookup table, " -"but it will not resolve option labels. Click" -msgstr "" -"Si se marca, FormShare creará un archivo JSON para cada tabla de " -"búsqueda, pero no resolverá las etiquetas de las opciones. Haga clic" +msgid "When checked, FormShare will create a JSON file for each lookup table, but it will not resolve option labels. Click" +msgstr "Si se marca, FormShare creará un archivo JSON para cada tabla de búsqueda, pero no resolverá las etiquetas de las opciones. Haga clic" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_csv.jinja2:17 msgid "CSV Options" @@ -3434,9 +3134,7 @@ msgstr "como una ayuda para crear el archivo zip." #: formshare/templates/dashboard/projects/forms/import_data/import_form.jinja2:62 msgid "Select an assistant who could help you fixing any issues with your data" -msgstr "" -"Seleccione un asistente que lo pueda ayudar a corregir cualquier problema" -" con sus datos" +msgstr "Seleccione un asistente que lo pueda ayudar a corregir cualquier problema con sus datos" #: formshare/templates/dashboard/projects/forms/import_data/import_form.jinja2:67 msgid "Data file" @@ -3469,44 +3167,20 @@ msgid "Here are some notes for importing data into FormShare" msgstr "Aquí hay algunas notas para importar datos en FormShare" #: formshare/templates/dashboard/projects/forms/import_data/snippets/import_guide.jinja2:21 -msgid "" -"FormShare can import submissions from FormShare 1.0 as individual JSON " -"files or several in a zip file. The following image shows how to zip the " -"files." -msgstr "" -"FormShare puede importar envíos de FormShare 1.0 en archivos JSON " -"individuales o varios en un archivo zip. La siguiente imagen muestra cómo" -" crear el archivo zip." +msgid "FormShare can import submissions from FormShare 1.0 as individual JSON files or several in a zip file. The following image shows how to zip the files." +msgstr "FormShare puede importar envíos de FormShare 1.0 en archivos JSON individuales o varios en un archivo zip. La siguiente imagen muestra cómo crear el archivo zip." #: formshare/templates/dashboard/projects/forms/import_data/snippets/import_guide.jinja2:24 -msgid "" -"Store the submission files in a zip file. The files cannot be inside " -"directories. You can decide how to name each submission file and the zip " -"file." -msgstr "" -"Guarde los archivos de envío en un archivo zip. Los archivos de envío no " -"pueden estar dentro de directorios. Puede decidir cómo nombrar cada " -"archivo de envío y el archivo zip." +msgid "Store the submission files in a zip file. The files cannot be inside directories. You can decide how to name each submission file and the zip file." +msgstr "Guarde los archivos de envío en un archivo zip. Los archivos de envío no pueden estar dentro de directorios. Puede decidir cómo nombrar cada archivo de envío y el archivo zip." #: formshare/templates/dashboard/projects/forms/import_data/snippets/import_guide.jinja2:29 -msgid "" -"FormShare can import ODK Collect XML files. However, the files must be " -"inside a zip. The following image shows how to zip the files." -msgstr "" -"FormShare puede importar archivos XML de ODK Collect. Sin embargo, los " -"archivos deben estar dentro de un archivo zip. La siguiente imagen " -"muestra cómo construir el archivo zip." +msgid "FormShare can import ODK Collect XML files. However, the files must be inside a zip. The following image shows how to zip the files." +msgstr "FormShare puede importar archivos XML de ODK Collect. Sin embargo, los archivos deben estar dentro de un archivo zip. La siguiente imagen muestra cómo construir el archivo zip." #: formshare/templates/dashboard/projects/forms/import_data/snippets/import_guide.jinja2:32 -msgid "" -"Store the submissions in separate directories. Each directory must " -"contain the XML data file and any media files (if present). You can " -"decide how to name each directory, submission file, and zip file." -msgstr "" -"Almacene los envíos en directorios separados. Cada directorio debe " -"contener el archivo de datos XML y cualquier archivo multimedia (si está " -"presente). Usted puede decidir cómo nombrar cada directorio, archivo de " -"envío y archivo zip." +msgid "Store the submissions in separate directories. Each directory must contain the XML data file and any media files (if present). You can decide how to name each directory, submission file, and zip file." +msgstr "Almacene los envíos en directorios separados. Cada directorio debe contener el archivo de datos XML y cualquier archivo multimedia (si está presente). Usted puede decidir cómo nombrar cada directorio, archivo de envío y archivo zip." #: formshare/templates/dashboard/projects/forms/map/marker_info.jinja2:16 #: formshare/templates/partner/map/marker_info.jinja2:16 @@ -3526,9 +3200,7 @@ msgstr "Multimedia en el envío" #: formshare/templates/dashboard/projects/forms/map/marker_info.jinja2:34 #: formshare/templates/partner/map/marker_info.jinja2:34 msgid "The submission date (Submitted date) is stored in FormShare's time zone" -msgstr "" -"La fecha de envío (Submitted date) se almacena en la zona horaria de " -"FormShare" +msgstr "La fecha de envío (Submitted date) se almacena en la zona horaria de FormShare" #: formshare/templates/dashboard/projects/forms/map/marker_info.jinja2:35 #: formshare/templates/partner/map/marker_info.jinja2:35 @@ -3624,12 +3296,8 @@ msgstr "Descargue un CSV privado usando una llave de acceso" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:29 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:95 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:169 -msgid "" -"Each private CSV product generated in FormShare has an API download link." -" Copy the link and place it below" -msgstr "" -"Cada producto privado de tipo CSV generado en FormShare posee un enlace " -"para descargarlo usando API. Copie el enlace y páguelo abajo " +msgid "Each private CSV product generated in FormShare has an API download link. Copy the link and place it below" +msgstr "Cada producto privado de tipo CSV generado en FormShare posee un enlace para descargarlo usando API. Copie el enlace y páguelo abajo " #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:35 msgid "Where do you want to save the CSV file downloaded from FormShare?" @@ -3648,9 +3316,7 @@ msgstr "El set de datos debe tener la siguiente estructura" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:108 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:174 msgid "Each data row in FormShare has an unique row id (rowuuid)" -msgstr "" -"Cada línea de datos en FormShare posee un identificador único de línea " -"llamado \"rowuuid\"" +msgstr "Cada línea de datos en FormShare posee un identificador único de línea llamado \"rowuuid\"" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:45 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:109 @@ -3661,22 +3327,14 @@ msgstr "La variable que usted quiere cambiar" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:46 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:110 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:176 -msgid "" -"This is the new value that you want to apply to the variable for the " -"selected unique row id (rowuuid)" -msgstr "" -"Este es el nuevo valor que usted quiere aplicar a la variable para el " -"identificador único de línea (rowuuid) seleccionado" +msgid "This is the new value that you want to apply to the variable for the selected unique row id (rowuuid)" +msgstr "Este es el nuevo valor que usted quiere aplicar a la variable para el identificador único de línea (rowuuid) seleccionado" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:47 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:112 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:180 -msgid "" -"In this example we will replace the variable income to read 1300 for the " -"unique row id (rowuuid)" -msgstr "" -"En este ejemplo se va a reemplazar la variable income para que sea 1300 " -"en el identificador único de línea (rowuuid)" +msgid "In this example we will replace the variable income to read 1300 for the unique row id (rowuuid)" +msgstr "En este ejemplo se va a reemplazar la variable income para que sea 1300 en el identificador único de línea (rowuuid)" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:52 msgid "Read the list of changes and push the updates to FormShare" @@ -3699,8 +3357,7 @@ msgstr "Pase por cada actualización en la lista y envíelos a FormShare" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:67 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:139 msgid "Create a Python Dict structure. In this example this will look like" -msgstr "" -"Cree una estructura Dict en Python. En este ejemplo el resultado va a ser" +msgstr "Cree una estructura Dict en Python. En este ejemplo el resultado va a ser" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:68 msgid "This will tell FormShare to look for" @@ -3728,9 +3385,7 @@ msgstr "Envíe los cambios a FormShare" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:91 msgid "Python program: Download a private csv file using an access key" -msgstr "" -"Programa en Python: Descargue un archivo CSV privado usando una llave de " -"acceso" +msgstr "Programa en Python: Descargue un archivo CSV privado usando una llave de acceso" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:98 msgid "Where do you want to save the CSV file?" @@ -3745,11 +3400,8 @@ msgid "The list needs to have the following structure" msgstr "La lista debe tener la siguiente estructura" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:120 -msgid "" -"Python program: Read the list of changes and push the update to FormShare" -msgstr "" -"Programa en Python. Lea la lista de cambios y envié las actualizaciones a" -" FormShare" +msgid "Python program: Read the list of changes and push the update to FormShare" +msgstr "Programa en Python. Lea la lista de cambios y envié las actualizaciones a FormShare" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:126 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:185 @@ -3762,9 +3414,7 @@ msgstr "Mueva la lista de actualizaciones a un vector llamado all_updates." #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:140 msgid "This will tell FormShare to look for unique row id (rowuuid)" -msgstr "" -"Esto le va a indicar a FormShare que busque el identificador único de " -"línea (rowuuid)" +msgstr "Esto le va a indicar a FormShare que busque el identificador único de línea (rowuuid)" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:140 msgid "and change the variable income to" @@ -3795,12 +3445,8 @@ msgid "Setup your FormShare assistant API key. For example" msgstr "Indique la llave API para su asistente en FormShare. Por ejemplo:" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:192 -msgid "" -"Create a JSON string using the data in the data frame. In this example " -"this will look like" -msgstr "" -"Cree una cadena JSON usando el esquema de datos. En este ejemplo se vería" -" como" +msgid "Create a JSON string using the data in the data frame. In this example this will look like" +msgstr "Cree una cadena JSON usando el esquema de datos. En este ejemplo se vería como" #: formshare/templates/dashboard/projects/forms/snippets/assistants_tab.jinja2:4 msgid "Assigned assistants" @@ -3845,12 +3491,8 @@ msgstr "están inactivos" #: formshare/templates/dashboard/projects/forms/snippets/assistants_tab.jinja2:51 #: formshare/templates/dashboard/projects/forms/snippets/assistants_tab.jinja2:53 -msgid "" -"Assistants help you to collect and clean data. Add one by clicking on the" -" + button" -msgstr "" -"Los asistentes le ayudan a recolectar y limpiar datos. Añada uno haciendo" -" clic en el botón +" +msgid "Assistants help you to collect and clean data. Add one by clicking on the + button" +msgstr "Los asistentes le ayudan a recolectar y limpiar datos. Añada uno haciendo clic en el botón +" #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_compare_forms.jinja2:2 msgid "Changes made to " @@ -4124,12 +3766,8 @@ msgid "test submissions." msgstr "envíos de prueba." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:126 -msgid "" -"After you create the repository, you can receive any number of " -"submissions." -msgstr "" -"Después de crear el repositorio, el formulario puede recibir cualquier " -"número de envíos." +msgid "After you create the repository, you can receive any number of submissions." +msgstr "Después de crear el repositorio, el formulario puede recibir cualquier número de envíos." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:127 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:132 @@ -4148,9 +3786,7 @@ msgstr "casos de prueba." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:131 msgid "After you create the repository, you can receive any number of cases." -msgstr "" -"Después de crear el repositorio, el formulario puede recibir cualquier " -"número de casos." +msgstr "Después de crear el repositorio, el formulario puede recibir cualquier número de casos." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:140 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:158 @@ -4161,21 +3797,13 @@ msgstr "Nota importante!" #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:142 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:160 -msgid "" -"This form is in testing stage. This means that you can update it at all " -"times and submissions are for testing purposes. " -msgstr "" -"Este formulario está en etapa de prueba. Esto significa que puede " -"actualizarlo en todo momento y los envíos son para fines de prueba." +msgid "This form is in testing stage. This means that you can update it at all times and submissions are for testing purposes. " +msgstr "Este formulario está en etapa de prueba. Esto significa que puede actualizarlo en todo momento y los envíos son para fines de prueba." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:144 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:162 -msgid "" -"This form is in testing stage. This means that you can update it at all " -"times and cases are for testing purposes. " -msgstr "" -"Este formulario está en etapa de prueba. Esto significa que puede " -"actualizarlo en todo momento y los casos son para fines de prueba." +msgid "This form is in testing stage. This means that you can update it at all times and cases are for testing purposes. " +msgstr "Este formulario está en etapa de prueba. Esto significa que puede actualizarlo en todo momento y los casos son para fines de prueba." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:147 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:165 @@ -4198,27 +3826,16 @@ msgid "IMPORTANT INFORMATION:" msgstr "INFORMACIÓN IMPORTANTE:" #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:151 -msgid "" -"FormShare has checked your form and it has problems. FormShare will not " -"be able to create a repository from it." -msgstr "" -"FormShare ha verificado su formulario y tiene problemas. FormShare no " -"podrá crear un repositorio a partir de este formulario." +msgid "FormShare has checked your form and it has problems. FormShare will not be able to create a repository from it." +msgstr "FormShare ha verificado su formulario y tiene problemas. FormShare no podrá crear un repositorio a partir de este formulario." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:151 msgid "Click here to see the problems." msgstr "Presione aquí para ver los problemas." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:154 -#| msgid "" "FormShare needs you to upload all required files before it can -#| check your" " form completely" -msgid "" -"FormShare needs you to upload all required files before it can check your" -" form completely. See the section \"Form files\" below in this page." -msgstr "" -"FormShare necesita que cargue todos los archivos requerido antes de " -"revisar completamente el formulario. Consulte la sección \"Archivos del" -" formulario\" más abajo en esta página." +msgid "FormShare needs you to upload all required files before it can check your form completely. See the section \"Form files\" below in this page." +msgstr "FormShare necesita que cargue todos los archivos requerido antes de revisar completamente el formulario. Consulte la sección \"Archivos del formulario\" más abajo en esta página." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:165 msgid "merge it into the repository of " @@ -4226,32 +3843,19 @@ msgstr "fusionarlo con el repositorio de" #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:168 msgid "However you will not be able merge it into the repository of" -msgstr "" -"Sin embargo, este formulario no se puede fusionar con el repositorio de" +msgstr "Sin embargo, este formulario no se puede fusionar con el repositorio de" #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:168 msgid "Click here to see the problems" msgstr "Presione aquí para ver los problemas." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:170 -msgid "" -"FormShare needs you to upload all required files before it pre-checks the" -" form for merging" -msgstr "" -"FormShare necesita que cargue todos los archivos necesarios antes de " -"comprobar previamente el formulario para la fusión." +msgid "FormShare needs you to upload all required files before it pre-checks the form for merging" +msgstr "FormShare necesita que cargue todos los archivos necesarios antes de comprobar previamente el formulario para la fusión." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:184 -msgid "" -"This form is still in testing stage. Your last attempt to generate its " -"repository reported an error. This is unexpected and an email has been " -"sent to the technical team. A representative will contact you ASAP with a" -" solution." -msgstr "" -"Este formulario aún está en etapa de prueba. Su último intento de generar" -" su repositorio reportó un error. Esto es inesperado y se ha enviado un " -"correo electrónico al equipo técnico. Un representante se comunicará con " -"usted lo antes posible con una solución." +msgid "This form is still in testing stage. Your last attempt to generate its repository reported an error. This is unexpected and an email has been sent to the technical team. A representative will contact you ASAP with a solution." +msgstr "Este formulario aún está en etapa de prueba. Su último intento de generar su repositorio reportó un error. Esto es inesperado y se ha enviado un correo electrónico al equipo técnico. Un representante se comunicará con usted lo antes posible con una solución." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:185 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:210 @@ -4272,15 +3876,8 @@ msgid "Scheduling...." msgstr "Programando la tarea…" #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:209 -msgid "" -"This form is still in testing stage. Your last attempt to merge it " -"reported an error. This is unexpected and an email has been sent to the " -"technical team. A representative will contact you ASAP with a solution." -msgstr "" -"Este formulario aún está en etapa de prueba. Su último intento de " -"fusionarlo reportó un error. Esto es inesperado y se ha enviado un correo" -" electrónico al equipo técnico. Un representante se comunicará con usted " -"lo antes posible con una solución." +msgid "This form is still in testing stage. Your last attempt to merge it reported an error. This is unexpected and an email has been sent to the technical team. A representative will contact you ASAP with a solution." +msgstr "Este formulario aún está en etapa de prueba. Su último intento de fusionarlo reportó un error. Esto es inesperado y se ha enviado un correo electrónico al equipo técnico. Un representante se comunicará con usted lo antes posible con una solución." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:210 msgid "try again." @@ -4486,9 +4083,7 @@ msgstr "Sub versión" #: formshare/templates/dashboard/projects/forms/snippets/info_tab.jinja2:74 msgid "The merge check will start once all required files are uploaded" -msgstr "" -"La verificación de fusión comenzará una vez que se carguen todos los " -"archivos necesarios" +msgstr "La verificación de fusión comenzará una vez que se carguen todos los archivos necesarios" #: formshare/templates/dashboard/projects/forms/snippets/info_tab.jinja2:74 msgid "Merge check pending" @@ -4511,9 +4106,7 @@ msgstr "Crear repositorio" #: formshare/templates/dashboard/projects/forms/snippets/info_tab.jinja2:98 msgid "The repository check will start once all required files are uploaded" -msgstr "" -"La verificación del formulario comenzará una vez que se carguen todos los" -" archivos requeridos" +msgstr "La verificación del formulario comenzará una vez que se carguen todos los archivos requeridos" #: formshare/templates/dashboard/projects/forms/snippets/info_tab.jinja2:98 msgid "Repository check pending" @@ -4612,9 +4205,7 @@ msgstr "Configuración de ODK" #: formshare/templates/dashboard/projects/forms/snippets/links_tab.jinja2:54 msgid "Anyone can submit data to this form. This project uses crowdsourcing" -msgstr "" -"Cualquiera puede enviar datos a este formulario. Este proyecto utiliza " -"colaboración colectiva" +msgstr "Cualquiera puede enviar datos a este formulario. Este proyecto utiliza colaboración colectiva" #: formshare/templates/dashboard/projects/forms/snippets/links_tab.jinja2:54 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:38 @@ -4729,13 +4320,8 @@ msgstr "Al día" #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:67 #: formshare/templates/partner/snippets/product_item.jinja2:38 -msgid "" -"This product was created before the last submission and/or before the " -"last data cleaning update and/or before the last fixed log entry" -msgstr "" -"Este producto fue creado antes que el último envío y/o antes que la " -"última limpieza de datos y/o antes que la última corrección del registro " -"de envíos" +msgid "This product was created before the last submission and/or before the last data cleaning update and/or before the last fixed log entry" +msgstr "Este producto fue creado antes que el último envío y/o antes que la última limpieza de datos y/o antes que la última corrección del registro de envíos" #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:67 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:72 @@ -4788,12 +4374,8 @@ msgid "Repository error log" msgstr "Registro de errores al crear repositorio" #: formshare/templates/dashboard/projects/forms/snippets/repository_errors.jinja2:10 -msgid "" -"The following errors happened while trying to create the repository for " -"this form:" -msgstr "" -"Se reportaron los siguientes errores al intentar crear el repositorio " -"para este formulario:" +msgid "The following errors happened while trying to create the repository for this form:" +msgstr "Se reportaron los siguientes errores al intentar crear el repositorio para este formulario:" #: formshare/templates/dashboard/projects/forms/snippets/repository_tab.jinja2:4 msgid "Repository tools" @@ -4831,8 +4413,7 @@ msgstr "Subir nueva versión" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:13 msgid "Warning: Uploading a new version will remove any test data" -msgstr "" -"Advertencia: Al subir una nueva versión usted borrará los datos de prueba" +msgstr "Advertencia: Al subir una nueva versión usted borrará los datos de prueba" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:23 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:38 @@ -4845,12 +4426,8 @@ msgid "Select the ODK Form that you want to upload into FormShare" msgstr "Seleccione el Formulario ODK que usted desea subir a FormShare" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:33 -msgid "" -"In the ODK Form that you are uploading into FormShare, which variable " -"will be used to control duplicate submissions?" -msgstr "" -"En el formulario ODK que usted está cargando en FormShare, ¿qué variable " -"se utilizará para controlar envíos duplicados?" +msgid "In the ODK Form that you are uploading into FormShare, which variable will be used to control duplicate submissions?" +msgstr "En el formulario ODK que usted está cargando en FormShare, ¿qué variable se utilizará para controlar envíos duplicados?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:34 msgid "You need to indicate the variable to control duplicate submissions" @@ -4858,29 +4435,13 @@ msgstr "Usted debe indicar la variable para controlar envíos duplicados" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:35 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:50 -msgid "" -"To control duplicate submissions, you need to select a variable from your" -" ODK Form whose values will be UNIQUE across all the submissions that you" -" expect to have. If you need to join two or more variables to become " -"UNIQUE, then use an ODK Calculate to merge them into one variable. This " -"variable will become the Primary Key of your ODK Form and CANNOT BE " -"CHANGED afterward." -msgstr "" -"Para controlar envíos duplicados, usted debe seleccionar una variable de " -"su Formulario ODK cuyos valores serán ÚNICOS a través de todos los envíos" -" que esperar tener. Si necesita unir dos o más variables para crear una " -"variable ÚNICA, use un ODK Calculate para unir esas variable. Esta " -"variable se convertirá en la llave primaria de su formulario ODK y NO SE " -"PUEDE CAMBIAR después." +msgid "To control duplicate submissions, you need to select a variable from your ODK Form whose values will be UNIQUE across all the submissions that you expect to have. If you need to join two or more variables to become UNIQUE, then use an ODK Calculate to merge them into one variable. This variable will become the Primary Key of your ODK Form and CANNOT BE CHANGED afterward." +msgstr "Para controlar envíos duplicados, usted debe seleccionar una variable de su Formulario ODK cuyos valores serán ÚNICOS a través de todos los envíos que esperar tener. Si necesita unir dos o más variables para crear una variable ÚNICA, use un ODK Calculate para unir esas variable. Esta variable se convertirá en la llave primaria de su formulario ODK y NO SE PUEDE CAMBIAR después." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:42 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:62 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to identify each case?" -msgstr "" -"En este formulario ODK que usted está cargando en FormShare, qué variable" -" se utilizará para identificar cada caso?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to identify each case?" +msgstr "En este formulario ODK que usted está cargando en FormShare, qué variable se utilizará para identificar cada caso?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:43 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:63 @@ -4889,28 +4450,13 @@ msgstr "Usted debe de indicar una variable para identificar cada casos" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:44 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:64 -msgid "" -"Each case must be UNIQUE. You need to select a variable from your ODK " -"Form whose values will be UNIQUE across all the cases that you expect to " -"have. If you need to join two or more variables to become UNIQUE, then " -"use an ODK Calculate to merge them into one variable. This variable will " -"become the Primary Key of your ODK Form and CANNOT BE CHANGED afterward." -msgstr "" -"Cada caso debe ser ÚNICO. Usted necesitas seleccionar una variable de su " -"Formulario ODK cuyos valores serán ÚNICOS en todos los casos que espera " -"tener. Si necesita unir dos o más variables para generar una variable " -"ÚNICA, entonces use un ODK Calculate para unirlas en una variable. Esta " -"variable se convertirá en la llave primaria de su formulario ODK y NO SE " -"PUEDE CAMBIAR posteriormente." +msgid "Each case must be UNIQUE. You need to select a variable from your ODK Form whose values will be UNIQUE across all the cases that you expect to have. If you need to join two or more variables to become UNIQUE, then use an ODK Calculate to merge them into one variable. This variable will become the Primary Key of your ODK Form and CANNOT BE CHANGED afterward." +msgstr "Cada caso debe ser ÚNICO. Usted necesitas seleccionar una variable de su Formulario ODK cuyos valores serán ÚNICOS en todos los casos que espera tener. Si necesita unir dos o más variables para generar una variable ÚNICA, entonces use un ODK Calculate para unirlas en una variable. Esta variable se convertirá en la llave primaria de su formulario ODK y NO SE PUEDE CAMBIAR posteriormente." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:48 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:68 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to label each case?" -msgstr "" -"En este formulario ODK que usted está cargando en FormShare, qué variable" -" se utilizará para etiquetar cada caso?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to label each case?" +msgstr "En este formulario ODK que usted está cargando en FormShare, qué variable se utilizará para etiquetar cada caso?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:49 msgid "You need to indicate the variable to label each case" @@ -4918,18 +4464,8 @@ msgstr "Usted debe de indicar una variable para etiquetar cada caso" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:50 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:70 -msgid "" -"Each case needs to have a label. You need to select a variable from your " -"ODK Form to label each case. Follow-up forms will use this variable to " -"search and select each case. If you need to join two or more variables to" -" create a label, then use an ODK Calculate to merge them into one " -"variable." -msgstr "" -"Cada caso debe tener una etiqueta. Debe seleccionar una variable de su " -"Formulario ODK para etiquetar cada caso. Los formularios de seguimiento " -"utilizarán esta variable parabuscar y seleccionar cada caso. Si necesita " -"unir dos o más variables para cree una etiqueta, entonces use un ODK " -"Calculate para unirlas en una variable." +msgid "Each case needs to have a label. You need to select a variable from your ODK Form to label each case. Follow-up forms will use this variable to search and select each case. If you need to join two or more variables to create a label, then use an ODK Calculate to merge them into one variable." +msgstr "Cada caso debe tener una etiqueta. Debe seleccionar una variable de su Formulario ODK para etiquetar cada caso. Los formularios de seguimiento utilizarán esta variable parabuscar y seleccionar cada caso. Si necesita unir dos o más variables para cree una etiqueta, entonces use un ODK Calculate para unirlas en una variable." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:55 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:81 @@ -4949,12 +4485,8 @@ msgid "Follow-up and activate case form" msgstr "Formulario de seguimiento y activación de casos" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:62 -msgid "" -"In the ODK Form that you are uploading into FormShare, which variable " -"will be used to search and select a case?" -msgstr "" -"En el formulario ODK que usted está cargando en FormShare, ¿qué variable " -"se utilizará para buscar y seleccionar un caso?" +msgid "In the ODK Form that you are uploading into FormShare, which variable will be used to search and select a case?" +msgstr "En el formulario ODK que usted está cargando en FormShare, ¿qué variable se utilizará para buscar y seleccionar un caso?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:63 msgid "You need to indicate the variable to search and select cases" @@ -4962,12 +4494,8 @@ msgstr "Usted debe de indicar la variable para buscar y seleccionar casos" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:64 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:91 -msgid "" -"This variable MUST BE either a \"select_one_from_file\" (The file MUST BE" -" CSV) or a \"barcode\"." -msgstr "" -"Esta variable DEBE DE SER de tipo \"select_one_from_file\" (El archivo " -"TIENE QUE SER CSV) o de tipo \"barcode\"." +msgid "This variable MUST BE either a \"select_one_from_file\" (The file MUST BE CSV) or a \"barcode\"." +msgstr "Esta variable DEBE DE SER de tipo \"select_one_from_file\" (El archivo TIENE QUE SER CSV) o de tipo \"barcode\"." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:64 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:91 @@ -4975,39 +4503,20 @@ msgid "Download an example the CSV file " msgstr "Descargue un ejemplo del archivo CSV" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:68 -msgid "" -"In the ODK Form that you are uploading into FormShare, which variable " -"will be used to record the date or the date and time of a new data point " -"attached to a case?" -msgstr "" -"En el formulario ODK que usted está cargando en FormShare, ¿qué variable " -"se utilizará para registrar la fecha o la fecha y hora de un nuevo punto " -"de datos adjunto a un caso?" +msgid "In the ODK Form that you are uploading into FormShare, which variable will be used to record the date or the date and time of a new data point attached to a case?" +msgstr "En el formulario ODK que usted está cargando en FormShare, ¿qué variable se utilizará para registrar la fecha o la fecha y hora de un nuevo punto de datos adjunto a un caso?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:69 msgid "You need to indicate the variable to record date or date and time." -msgstr "" -"Usted debe de indicar una variable para almacenar la fecha o la fecha y " -"hora" +msgstr "Usted debe de indicar una variable para almacenar la fecha o la fecha y hora" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:70 -msgid "" -"Follow-up case forms attach data to a case. Each case can have different " -"data at different points in time. Each data point must have a date. This " -"variable MUST BE either \"date\" or \"datetime\"." -msgstr "" -"Los formularios de seguimiento adjuntan datos a un caso. Cada caso puede " -"tener diferentes datos en diferentes momentos (puntos de datos a través " -"del tiempo). Cada punto de datos debe tener una fecha. Esta la variable " -"DEBE SER \"date\" o \"datetime\"." +msgid "Follow-up case forms attach data to a case. Each case can have different data at different points in time. Each data point must have a date. This variable MUST BE either \"date\" or \"datetime\"." +msgstr "Los formularios de seguimiento adjuntan datos a un caso. Cada caso puede tener diferentes datos en diferentes momentos (puntos de datos a través del tiempo). Cada punto de datos debe tener una fecha. Esta la variable DEBE SER \"date\" o \"datetime\"." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:74 -msgid "" -"In the ODK Form that you are uploading into FormShare, which variable " -"will be used to control duplicate cases?" -msgstr "" -"En el formulario ODK que usted está cargando en FormShare, ¿qué variable " -"se utilizará para controlar casos duplicados?" +msgid "In the ODK Form that you are uploading into FormShare, which variable will be used to control duplicate cases?" +msgstr "En el formulario ODK que usted está cargando en FormShare, ¿qué variable se utilizará para controlar casos duplicados?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:75 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:102 @@ -5015,30 +4524,8 @@ msgid "You need to indicate the variable to control duplicate cases" msgstr "Usted debe de indicar una variable para controlar casos duplicados" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:76 -msgid "" -"To control duplicate cases, you need to join two or more variables to " -"become UNIQUE. For example, use an ODK Calculate to join the variable " -"that you selected above to search and select a case with the variable " -"that you selected above to record the date of new data point attached to " -"a case. This ODK Calculate will become the Primary Key of your ODK Form " -"and CANNOT BE CHANGED afterwards." -msgstr "" -"Para controlar casos duplicados, debe unir dos o más variables para crear" -" una variable ÚNICA. Por ejemplo, use un ODK Calculate para unir la " -"variable que seleccionó anteriormente para buscar y seleccionar casos con" -" la variable que seleccionó anteriormente para registrar la fecha. Este " -"ODK calculate se convertirá en la llave primaria de su formulario ODK y " -"NO SE PUEDE CAMBIAR posteriormente." - -#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:7 -#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:7 -msgid "Upload file" -msgstr "Subir archivo" - -#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:17 -#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:17 -msgid "Choose files" -msgstr "Escoger archivos" +msgid "To control duplicate cases, you need to join two or more variables to become UNIQUE. For example, use an ODK Calculate to join the variable that you selected above to search and select a case with the variable that you selected above to record the date of new data point attached to a case. This ODK Calculate will become the Primary Key of your ODK Form and CANNOT BE CHANGED afterwards." +msgstr "Para controlar casos duplicados, debe unir dos o más variables para crear una variable ÚNICA. Por ejemplo, use un ODK Calculate para unir la variable que seleccionó anteriormente para buscar y seleccionar casos con la variable que seleccionó anteriormente para registrar la fecha. Este ODK calculate se convertirá en la llave primaria de su formulario ODK y NO SE PUEDE CAMBIAR posteriormente." #: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:21 #: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:21 @@ -5050,12 +4537,6 @@ msgstr "Sobrescribir" msgid "Overwrite any existent file" msgstr "Sobrescribir los archivos existentes" -#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:30 -#: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:117 -#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:30 -msgid "Upload" -msgstr "Subir" - #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:9 msgid "Upload form" msgstr "Subir formulario" @@ -5081,12 +4562,8 @@ msgid "Upload case form for merging" msgstr "Subir formulario de caso para fusionar" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:48 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to control duplicate submissions?" -msgstr "" -"En este formulario ODK que usted está cargando en FormShare, qué variable" -" se utilizará para controlar envíos duplicados?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to control duplicate submissions?" +msgstr "En este formulario ODK que usted está cargando en FormShare, qué variable se utilizará para controlar envíos duplicados?" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:49 msgid "You need to indicate the variable to control duplicate data" @@ -5117,67 +4594,32 @@ msgid "Follow-up and activate" msgstr "Seguimiento y activación" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:89 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to search and select a case?" -msgstr "" -"En este formulario ODK que usted está cargando en FormShare, qué variable" -" se utilizará para buscar y seleccionar un caso?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to search and select a case?" +msgstr "En este formulario ODK que usted está cargando en FormShare, qué variable se utilizará para buscar y seleccionar un caso?" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:90 msgid "You need to indicate the case selector variable" msgstr "Usted debe indicar la variable para buscar y seleccionar casos" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:95 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to record the date of a new data point attached to a case?" -msgstr "" -"En este formulario ODK que está cargando en FormShare, qué variable se " -"utilizará para registrar la fecha de un nuevo punto de datos adjunto a un" -" caso?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to record the date of a new data point attached to a case?" +msgstr "En este formulario ODK que está cargando en FormShare, qué variable se utilizará para registrar la fecha de un nuevo punto de datos adjunto a un caso?" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:96 msgid "You need to indicate the case datetime variable" msgstr "Usted debe indicar la variable que almacenará la fecha" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:97 -msgid "" -"Follow-up forms attach data to a case. Each case can have different data " -"at different points in time. Each data point must have a date. This " -"variable MUST BE either \"date\" or \"datetime\"." -msgstr "" -"Los formularios de seguimiento adjuntan datos a un caso. Cada caso puede " -"tener datos en diferentes momentos (puntos de datos a través del tiempo)." -" Cada punto de datos debe tener una fecha. Esta variable DEBE SER de " -"tipo \"date\" o \"datetime\"." +msgid "Follow-up forms attach data to a case. Each case can have different data at different points in time. Each data point must have a date. This variable MUST BE either \"date\" or \"datetime\"." +msgstr "Los formularios de seguimiento adjuntan datos a un caso. Cada caso puede tener datos en diferentes momentos (puntos de datos a través del tiempo). Cada punto de datos debe tener una fecha. Esta variable DEBE SER de tipo \"date\" o \"datetime\"." #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:101 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to control duplicate data?" -msgstr "" -"En este formulario ODK que está cargando en FormShare, qué variable se " -"utilizará para controlar datos duplicados?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to control duplicate data?" +msgstr "En este formulario ODK que está cargando en FormShare, qué variable se utilizará para controlar datos duplicados?" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:103 -msgid "" -"Follow-up forms attach information to a case at different points in time." -" Therefore, the ID of the case + the date/datetime should be UNIQUE " -"across time. You just indicated above: a) The variable used to search and" -" select a case and b) The variable to record the date. In your ODK form " -"join these two variables into a \"calculate\" variable and paste its name" -" here. This variable will become the Primary Key of your ODK Form and " -"CANNOT BE CHANGED afterwards." -msgstr "" -"Los formularios de seguimiento adjuntan información a un caso en " -"diferentes momentos (puntos de datos a través del tiempo). Por lo tanto, " -"el ID del caso + la fecha deben ser ÚNICOS a través del tiempo. Usted " -"acaba de indicar arriba: a) La variable utilizada para buscar y " -"seleccione casos y b) La variable para registrar la fecha. En su " -"formulario ODK una estas dos variables en una variable \"calculate\" y " -"pegue su nombre aquí. Esta variable se convertirá en la clave principal " -"de su formulario ODK y NO SE PUEDE CAMBIAR posteriormente." +msgid "Follow-up forms attach information to a case at different points in time. Therefore, the ID of the case + the date/datetime should be UNIQUE across time. You just indicated above: a) The variable used to search and select a case and b) The variable to record the date. In your ODK form join these two variables into a \"calculate\" variable and paste its name here. This variable will become the Primary Key of your ODK Form and CANNOT BE CHANGED afterwards." +msgstr "Los formularios de seguimiento adjuntan información a un caso en diferentes momentos (puntos de datos a través del tiempo). Por lo tanto, el ID del caso + la fecha deben ser ÚNICOS a través del tiempo. Usted acaba de indicar arriba: a) La variable utilizada para buscar y seleccione casos y b) La variable para registrar la fecha. En su formulario ODK una estas dos variables en una variable \"calculate\" y pegue su nombre aquí. Esta variable se convertirá en la clave principal de su formulario ODK y NO SE PUEDE CAMBIAR posteriormente." #: formshare/templates/dashboard/projects/forms/snippets/upload_form_js.jinja2:5 msgid "One moment please..." @@ -5213,12 +4655,8 @@ msgid "You are going to delete all the submissions" msgstr "Usted va a borrar todos los envíos" #: formshare/templates/dashboard/projects/forms/submissions/edit_submissions.jinja2:90 -msgid "" -"Unless you want to start all over again, this is something that you " -"should not do!" -msgstr "" -"¡A menos que quieras volver a empezar de nuevo, esto es algo que usted no" -" debería de hacer!" +msgid "Unless you want to start all over again, this is something that you should not do!" +msgstr "¡A menos que quieras volver a empezar de nuevo, esto es algo que usted no debería de hacer!" #: formshare/templates/dashboard/projects/forms/submissions/edit_submissions.jinja2:91 msgid "Confirm your email address:" @@ -5262,12 +4700,8 @@ msgid "You are moving submission" msgstr "Usted está moviendo el envío" #: formshare/templates/dashboard/projects/forms/submissions/snippets/move_to_logs.jinja2:13 -msgid "" -"from the repository to the logs. You need to indicate which assistant " -"will be in charge of handling the log entry" -msgstr "" -"del repositorio al registro de errores. Debe indicar qué asistente se " -"encargará de gestionar este ingreso en el registro de errores" +msgid "from the repository to the logs. You need to indicate which assistant will be in charge of handling the log entry" +msgstr "del repositorio al registro de errores. Debe indicar qué asistente se encargará de gestionar este ingreso en el registro de errores" #: formshare/templates/dashboard/projects/forms/submissions/snippets/move_to_logs.jinja2:30 msgid "Move" @@ -5297,27 +4731,13 @@ msgstr "seleccione una opción" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:66 #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:52 -msgid "" -"Please note that FormShare will store the descriptions of variables and " -"choices in the primary language." -msgstr "" -"Tenga en cuenta que FormShare almacenará las descripciones de las " -"variables y las opciones en el idioma principal." +msgid "Please note that FormShare will store the descriptions of variables and choices in the primary language." +msgstr "Tenga en cuenta que FormShare almacenará las descripciones de las variables y las opciones en el idioma principal." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:68 #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:59 -msgid "" -"The language called \"default\" appears when you have a \"label\" or " -"\"hint\" without indicating a language. For example if you have a column " -"called \"label\" and another called \"label:English (es)\" then " -"\"default\" refers to the language of \"label\" which is not indicated in" -" the ODK Form." -msgstr "" -"El idioma llamado \"por defecto\" aparece cuando se tiene una " -"\"etiqueta\" o \"pista\" sin indicar un idioma. Por ejemplo, si tiene una" -" columna llamada \"label\" y otra llamada \"label:English (es)\", " -"entonces \"default\" se refiere al idioma de \"label\" que no se indica " -"en el ODK Form." +msgid "The language called \"default\" appears when you have a \"label\" or \"hint\" without indicating a language. For example if you have a column called \"label\" and another called \"label:English (es)\" then \"default\" refers to the language of \"label\" which is not indicated in the ODK Form." +msgstr "El idioma llamado \"por defecto\" aparece cuando se tiene una \"etiqueta\" o \"pista\" sin indicar un idioma. Por ejemplo, si tiene una columna llamada \"label\" y otra llamada \"label:English (es)\", entonces \"default\" se refiere al idioma de \"label\" que no se indica en el ODK Form." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:72 #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:63 @@ -5349,24 +4769,16 @@ msgid "Oops! Something went wrong!" msgstr "¡Uy! Algo salió mal." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:93 -msgid "" -"The process returned an unexpected error. An email has been sent to the " -"technical team." -msgstr "" -"El proceso ha devuelto un error inesperado. Se ha enviado un correo " -"electrónico al equipo técnico." +msgid "The process returned an unexpected error. An email has been sent to the technical team." +msgstr "El proceso ha devuelto un error inesperado. Se ha enviado un correo electrónico al equipo técnico." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:96 msgid "Your ODK form has duplicated options." msgstr "Su formulario ODK tiene opciones duplicadas." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:97 -msgid "" -"You need to fix the below errors in CSV files, upload the new version and" -" continue the process." -msgstr "" -"Debe corregir los siguientes errores en los archivos CSV, cargar la nueva" -" versión y continuar el proceso." +msgid "You need to fix the below errors in CSV files, upload the new version and continue the process." +msgstr "Debe corregir los siguientes errores en los archivos CSV, cargar la nueva versión y continuar el proceso." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:100 msgid "CSV with duplicated options" @@ -5440,35 +4852,20 @@ msgid "has invalid characters" msgstr "tiene caracteres no válidos" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:145 -msgid "" -"cannot be read or you are mixing select options in CSV with options in " -"the choices sheet." -msgstr "" -"no se puede leer o está mezclando las opciones de selección en el CSV con" -" las opciones en la hoja de selecciones." +msgid "cannot be read or you are mixing select options in CSV with options in the choices sheet." +msgstr "no se puede leer o está mezclando las opciones de selección en el CSV con las opciones en la hoja de selecciones." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:147 -msgid "" -"Please check the CSV file and whether you are mixing select options in " -"the choices sheet with options in a CSV for a single list_name and move " -"all the select options to the CSV" -msgstr "" -"Por favor, compruebe el archivo CSV y si está mezclando opciones de " -"selección en la hoja de selecciones con opciones en un CSV para un solo " -"list_name y mueva todas las opciones de selección al CSV" +msgid "Please check the CSV file and whether you are mixing select options in the choices sheet with options in a CSV for a single list_name and move all the select options to the CSV" +msgstr "Por favor, compruebe el archivo CSV y si está mezclando opciones de selección en la hoja de selecciones con opciones en un CSV para un solo list_name y mueva todas las opciones de selección al CSV" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:151 msgid "Your ODK form has duplicated list names in the choices sheet" -msgstr "" -"Su formulario ODK tiene nombres de lista duplicados en la hoja de opciones" +msgstr "Su formulario ODK tiene nombres de lista duplicados en la hoja de opciones" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:152 -msgid "" -"You need to fix the below errors in the ODK form, upload the new version " -"and continue the process." -msgstr "" -"Debe corregir los siguientes errores en el formulario ODK, cargar la " -"nueva versión y continuar el proceso." +msgid "You need to fix the below errors in the ODK form, upload the new version and continue the process." +msgstr "Debe corregir los siguientes errores en el formulario ODK, cargar la nueva versión y continuar el proceso." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:155 msgid "List name" @@ -5487,11 +4884,8 @@ msgid "The following tables have a name with more than 64 characters:" msgstr "Las siguientes tablas tienen un nombre con más de 64 caracteres:" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:177 -msgid "" -"Please shorten the names of the tables and/or the selects and try again." -msgstr "" -"Por favor, acorte los nombres de las tablas y/o los selects y vuelva a " -"intentarlo." +msgid "Please shorten the names of the tables and/or the selects and try again." +msgstr "Por favor, acorte los nombres de las tablas y/o los selects y vuelva a intentarlo." #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:4 #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:25 @@ -5500,49 +4894,27 @@ msgid "Fix languages" msgstr "Corregir idiomas" #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:38 -msgid "" -"On this page, we assume that you know the language of the repository and " -"that the changes that you are making here to merge this new version are " -"correct. You assume the risks of ending up with an inconsistent " -"repository." -msgstr "" -"En esta página, asumimos que conoce el idioma del repositorio y que los " -"cambios que está haciendo aquí para fusionar esta nueva versión son " -"correctos. Usted asume los riesgos de terminar con un repositorio " -"inconsistente." +msgid "On this page, we assume that you know the language of the repository and that the changes that you are making here to merge this new version are correct. You assume the risks of ending up with an inconsistent repository." +msgstr "En esta página, asumimos que conoce el idioma del repositorio y que los cambios que está haciendo aquí para fusionar esta nueva versión son correctos. Usted asume los riesgos de terminar con un repositorio inconsistente." #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:54 msgid "The language of the previous form was" msgstr "El lenguaje del formulario anterior era" #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:56 -msgid "" -"The previous version of the form WAS NOT in multiple languages. You need " -"to be very careful in indicating now the default language!!" -msgstr "" -"La versión anterior del formulario NO ESTABA en varios idiomas. ¡¡Hay que" -" tener mucho cuidado al indicar ahora el idioma por defecto!!" +msgid "The previous version of the form WAS NOT in multiple languages. You need to be very careful in indicating now the default language!!" +msgstr "La versión anterior del formulario NO ESTABA en varios idiomas. ¡¡Hay que tener mucho cuidado al indicar ahora el idioma por defecto!!" #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:75 -msgid "" -"This version does not have any languages. However, the previous version " -"had different languages." -msgstr "" -"Esta versión no tiene idiomas. Sin embargo, la versión anterior tenía " -"diferentes idiomas." +msgid "This version does not have any languages. However, the previous version had different languages." +msgstr "Esta versión no tiene idiomas. Sin embargo, la versión anterior tenía diferentes idiomas." #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:77 -msgid "" -"By fixing it, you assume that the language of this new version of the " -"form is" -msgstr "" -"Al corregirlo, se asume que el lenguaje de esta nueva versión del " -"formulario es" +msgid "By fixing it, you assume that the language of this new version of the form is" +msgstr "Al corregirlo, se asume que el lenguaje de esta nueva versión del formulario es" #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:77 -msgid "" -"If that is not correct then you will end up with an inconsistent " -"repository." +msgid "If that is not correct then you will end up with an inconsistent repository." msgstr "Si esto no es correcto, acabará teniendo un repositorio inconsistente." #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:81 @@ -5566,8 +4938,7 @@ msgid "FormShare will perform more checks on" msgstr "FormShare realizará más comprobaciones en" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:41 -msgid "" -"and report whether or not is possible to merge it into the repository of" +msgid "and report whether or not is possible to merge it into the repository of" msgstr "e informará si es posible o no fusionarlo en el repositorio de" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:41 @@ -5588,25 +4959,18 @@ msgstr "tienes un repeat B dentro del repeat A pero en " #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:44 msgid "you have repeat A and repeat C but repeat B is now inside C." -msgstr "" -"tienes la repetición A y la repetición C pero la repetición B está ahora " -"dentro de la C." +msgstr "tienes la repetición A y la repetición C pero la repetición B está ahora dentro de la C." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:45 msgid "Change a string variable into integer." msgstr "Cambia una variable de texto a un número entero." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:46 -msgid "" -"Change a variable from select one into select multiple and the other way " -"around." -msgstr "" -"Cambiar una variable de selección única a selección múltiple y al revés." +msgid "Change a variable from select one into select multiple and the other way around." +msgstr "Cambiar una variable de selección única a selección múltiple y al revés." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:47 -msgid "" -"Change a variable from categorical into continuous and the other way " -"around." +msgid "Change a variable from categorical into continuous and the other way around." msgstr "Cambiar una variable de categórica a continua y al revés." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:48 @@ -5618,54 +4982,32 @@ msgid "you have \"1-Male\" but in" msgstr "tienes \"1-Hombres\" pero en" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:48 -msgid "" -"you have \"1-Man\". In this case FormShare will ask you if such a change " -"should be ignored because this could be a typo fix between versions, " -"however" -msgstr "" -"tiene \"1-Hombre\". En este caso FormShare le preguntará si dicho cambio " -"debe ser ignorado porque podría ser una corrección ortográfica entre " -"versiones, sin embargo" +msgid "you have \"1-Man\". In this case FormShare will ask you if such a change should be ignored because this could be a typo fix between versions, however" +msgstr "tiene \"1-Hombre\". En este caso FormShare le preguntará si dicho cambio debe ser ignorado porque podría ser una corrección ortográfica entre versiones, sin embargo" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:48 msgid "YOU ASSUME THE RISK." msgstr "USTED ASUME EL RIESGO." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:51 -msgid "" -"The merge will only apply incremental changes thus you will not lose " -"data. If for example you removed a variable in" -msgstr "" -"La fusión sólo aplicará cambios incrementales, por lo que no perderá " -"datos. Si, por ejemplo, ha eliminado una variable en" +msgid "The merge will only apply incremental changes thus you will not lose data. If for example you removed a variable in" +msgstr "La fusión sólo aplicará cambios incrementales, por lo que no perderá datos. Si, por ejemplo, ha eliminado una variable en" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:51 msgid "such variable will always exist in the repository of" msgstr "dicha variable siempre existirá en el repositorio de" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:52 -msgid "" -"FormShare will apply the merge in a secure backup before any changes are " -"made to the repository of" -msgstr "" -"FormShare aplicará la fusión en una copia de seguridad antes de realizar " -"cualquier cambio en el repositorio de" +msgid "FormShare will apply the merge in a secure backup before any changes are made to the repository of" +msgstr "FormShare aplicará la fusión en una copia de seguridad antes de realizar cualquier cambio en el repositorio de" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:53 -msgid "" -"Any form using such repository will not accept changes until the merge is" -" committed or rolled-back." -msgstr "" -"Cualquier formulario que utilice dicho repositorio no aceptará cambios " -"hasta que la fusión sea confirmada o revertida." +msgid "Any form using such repository will not accept changes until the merge is committed or rolled-back." +msgstr "Cualquier formulario que utilice dicho repositorio no aceptará cambios hasta que la fusión sea confirmada o revertida." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:73 -msgid "" -"There are changes in the descriptions of certain choice options. You can " -"merge such changes at" -msgstr "" -"Hay cambios en las descripciones de algunas opciones de selección. Puede " -"fusionar dichos cambios en" +msgid "There are changes in the descriptions of certain choice options. You can merge such changes at" +msgstr "Hay cambios en las descripciones de algunas opciones de selección. Puede fusionar dichos cambios en" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:73 msgid "YOUR OWN RISK" @@ -5677,25 +5019,16 @@ msgstr "al intentarlo de nuevo" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:83 msgid "Discard all testing data (Option is \"No\" by default)" -msgstr "" -"Descartar todos los datos de las pruebas (la opción es \"No\" por defecto)" +msgstr "Descartar todos los datos de las pruebas (la opción es \"No\" por defecto)" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:85 -msgid "" -"Change the switch if you DO NOT WANT to append the testing data into the " -"repository" -msgstr "" -"Cambie el interruptor si NO QUIERE ingresar los datos de prueba en el " -"repositorio" +msgid "Change the switch if you DO NOT WANT to append the testing data into the repository" +msgstr "Cambie el interruptor si NO QUIERE ingresar los datos de prueba en el repositorio" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:88 #: formshare/templates/dashboard/projects/repository/snippets/pkey_form.jinja2:10 -msgid "" -"The form does not have an assistant that can submit data. If you proceed " -"all testing data will get discarded!!!" -msgstr "" -"El formulario no tiene un asistente que pueda enviar datos. Si procede, " -"¡¡¡todos los datos de las pruebas serán descartados!!!" +msgid "The form does not have an assistant that can submit data. If you proceed all testing data will get discarded!!!" +msgstr "El formulario no tiene un asistente que pueda enviar datos. Si procede, ¡¡¡todos los datos de las pruebas serán descartados!!!" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:95 msgid "Accept changes and merge new version" @@ -5715,9 +5048,7 @@ msgstr "Creado el repositorio para " #: formshare/templates/dashboard/projects/repository/snippets/pkey_form.jinja2:5 msgid "Discard / delete all testing data (Option is \"No\" by default)" -msgstr "" -"Descartar / borrar todos los datos de las pruebas (la opción es \"No\" " -"por defecto)" +msgstr "Descartar / borrar todos los datos de las pruebas (la opción es \"No\" por defecto)" #: formshare/templates/dashboard/projects/repository/snippets/pkey_form.jinja2:7 msgid "Change the switch if you want to start with a clean repository" @@ -5728,12 +5059,8 @@ msgid "Which variable will be used to control duplicate submissions?" msgstr "¿Qué variable se utilizará para controlar los envíos duplicados?" #: formshare/templates/dashboard/projects/repository/snippets/pkey_form.jinja2:18 -msgid "" -"This will become the Primary Key of the repository. If you have more than" -" one variable then use an ODK Calculate to join them." -msgstr "" -"Esta variable se convertirá en la clave primaria del repositorio. Si " -"tiene más de una variable, utilice un ODK Calculate para unirlas." +msgid "This will become the Primary Key of the repository. If you have more than one variable then use an ODK Calculate to join them." +msgstr "Esta variable se convertirá en la clave primaria del repositorio. Si tiene más de una variable, utilice un ODK Calculate para unirlas." #: formshare/templates/dashboard/projects/snippets/brdcrbs_prjdtls.jinja2:2 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:276 @@ -5762,7 +5089,7 @@ msgstr "Cree la tabla de búsqueda de casos antes de añadir nuevos formularios" #: formshare/templates/dashboard/projects/snippets/no_forms.jinja2:16 #: formshare/templates/dashboard/projects/snippets/no_forms.jinja2:22 #: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:38 -#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:44 +#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:47 msgid "Add new form (Inactive)" msgstr "Añadir nuevo formulario (Inactivo)" @@ -5775,13 +5102,9 @@ msgid "Create the case lookup table" msgstr "Crear la tabla de búsqueda de casos" #: formshare/templates/dashboard/projects/snippets/no_forms.jinja2:22 -#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:44 -msgid "" -"You cannot add new forms while you have a case creator form in testing " -"stage." -msgstr "" -"No puede añadir nuevos formularios mientras tenga un formulario de " -"creación de casos en fase de prueba." +#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:47 +msgid "You cannot add new forms while you have a case creator form in testing stage." +msgstr "No puede añadir nuevos formularios mientras tenga un formulario de creación de casos en fase de prueba." #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:38 msgid "Anyone can see the list of forms within this project" @@ -5792,12 +5115,10 @@ msgid "Without abstract" msgstr "Sin resumen" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:67 -#| msgid "User list" msgid "See full list" msgstr "Ver la lista completa" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:88 -#| msgid "Click / Tap and hold to remove assistants" msgid "Click / Tap and hold to delete assistants" msgstr "Haga clic / pulse y mantenga pulsado para borrar a los asistentes" @@ -5810,17 +5131,14 @@ msgid "more" msgstr "más" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:103 -#| msgid "Change password" msgid "Edit items and change passwords" msgstr "Editar elementos y cambiar contraseñas" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:124 -#| msgid "User list" msgid "See list" msgstr "Ver lista" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:145 -#| msgid "Click / Tap and hold to remove groups" msgid "Click / Tap and hold to delete groups" msgstr "Haga clic / pulse y mantenga pulsado para borrar los grupos" @@ -5898,21 +5216,13 @@ msgid "Icon" msgstr "Icono" #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:24 -msgid "" -"You will use this in ODK Collect to identify your project. Only the first" -" Emoji will be used." -msgstr "" -"Lo utilizarás en ODK Collect para identificar tu proyecto. Sólo se " -"utilizará el primer Emoji." +msgid "You will use this in ODK Collect to identify your project. Only the first Emoji will be used." +msgstr "Lo utilizarás en ODK Collect para identificar tu proyecto. Sólo se utilizará el primer Emoji." #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:36 #: formshare/templates/dashboard/projects/snippets/project_form_edit.jinja2:33 -msgid "" -"This should be the time zone where submissions happen. As a reference, " -"FormShare's time zone is " -msgstr "" -"Esta debe ser la zona horaria en la que se producen los envíos. Como " -"referencia, la zona horaria de FormShare es " +msgid "This should be the time zone where submissions happen. As a reference, FormShare's time zone is " +msgstr "Esta debe ser la zona horaria en la que se producen los envíos. Como referencia, la zona horaria de FormShare es " #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:42 msgid "Abstract" @@ -5928,12 +5238,8 @@ msgid "Use a case/longitudinal workflow" msgstr "Utilizar un flujo de trabajo de casos/longitudinal" #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:51 -msgid "" -"This means that the forms in this project and their submissions will be " -"related to cases." -msgstr "" -"Esto significa que los formularios de este proyecto y sus envíos estarán " -"relacionados con casos." +msgid "This means that the forms in this project and their submissions will be related to cases." +msgstr "Esto significa que los formularios de este proyecto y sus envíos estarán relacionados con casos." #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:51 msgid "Read more about longitudinal forms" @@ -5948,13 +5254,8 @@ msgid "Requires authentication to accept data" msgstr "Requiere autenticación para aceptar envíos" #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:57 -msgid "" -"Uncheck if this project will allow crowdsourcing / public submissions. " -"Please note that this will apply to all forms within this project." -msgstr "" -"Desmarque si este proyecto permitirá colaboración colectiva / envíos " -"públicos. Tenga en cuenta que esto se aplicará a todos los formularios de" -" este proyecto." +msgid "Uncheck if this project will allow crowdsourcing / public submissions. Please note that this will apply to all forms within this project." +msgstr "Desmarque si este proyecto permitirá colaboración colectiva / envíos públicos. Tenga en cuenta que esto se aplicará a todos los formularios de este proyecto." #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:66 msgid "Add project" @@ -5965,11 +5266,8 @@ msgstr "Añadir proyecto" msgid "Read-only because the project has forms" msgstr "Sólo lectura porque el proyecto tiene formularios" -# | msgid "Create a repository to continue receiving submissions. The limit -# is" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:25 -msgid "" -"Create a repository to continue receiving submissions. \n" +msgid "Create a repository to continue receiving submissions. \n" "The limit is" msgstr "Cree un repositorio para seguir recibiendo envíos. El límite es" @@ -5978,39 +5276,25 @@ msgstr "Cree un repositorio para seguir recibiendo envíos. El límite es" msgid "Blocked" msgstr "Bloqueado" -# | msgid "Create a repository to continue receiving cases. The limit is" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:27 -msgid "" -"Create a repository to continue receiving cases. \n" +msgid "Create a repository to continue receiving cases. \n" "The limit is" msgstr "Cree un repositorio para seguir recibiendo casos. El límite es" -# | msgid "" "You will need to create a repository soon to continue receiving -# " -# | "submissions. The limit is" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:34 -msgid "" -"You will need to create a repository soon to continue receiving " -"submissions. \n" +msgid "You will need to create a repository soon to continue receiving submissions. \n" "The limit is" -msgstr "" -"Usted tendrá que crear pronto un repositorio para seguir recibiendo " -"envíos. El límite es" +msgstr "Usted tendrá que crear pronto un repositorio para seguir recibiendo envíos. El límite es" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:34 #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:36 msgid "Near maximum" msgstr "Cerca del límite" -# | msgid "" "You will need to create a repository soon to continue receiving -# | cases. " "The limit is" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:36 -msgid "" -"You will need to create a repository soon to continue receiving cases. \n" +msgid "You will need to create a repository soon to continue receiving cases. \n" "The limit is" -msgstr "" -"Usted tendrá que crear pronto un repositorio para seguir recibiendo " -"casos. El límite es" +msgstr "Usted tendrá que crear pronto un repositorio para seguir recibiendo casos. El límite es" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:52 #: formshare/templates/partner/snippets/odk_form_item.jinja2:23 @@ -6066,9 +5350,7 @@ msgstr "Total" #: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:38 msgid "Create the real-time CSV case file before adding new forms" -msgstr "" -"Cree el archivo de casos CSV en tiempo real antes de añadir nuevos " -"formularios" +msgstr "Cree el archivo de casos CSV en tiempo real antes de añadir nuevos formularios" #: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:41 msgid "View/edit the real-time CSV case file" @@ -6132,7 +5414,7 @@ msgstr "Añadir un asistente" #: formshare/templates/dashboard/snippets/footer.jinja2:4 #: formshare/templates/generic/login.jinja2:83 -#: formshare/templates/landing/snippets/contact.jinja2:50 +#: formshare/templates/landing/snippets/contact.jinja2:53 msgid "Version" msgstr "Versión" @@ -6214,9 +5496,7 @@ msgstr "Buscar un usuario" #: formshare/templates/dashboard/users/user_list.jinja2:54 msgid "You can search by username, full name or email address" -msgstr "" -"Puede buscar por nombre de usuario, nombre completo o dirección de correo" -" electrónico" +msgstr "Puede buscar por nombre de usuario, nombre completo o dirección de correo electrónico" #: formshare/templates/dashboard/users/snippets/brdcrbs_useradd.jinja2:2 msgid "Add new user" @@ -6233,9 +5513,7 @@ msgstr "Nombre de usuario" #: formshare/templates/dashboard/users/snippets/user_form.jinja2:6 msgid "The user name must be unique and cannot be changed afterwards" -msgstr "" -"El nombre de usuario debe ser único y no puede ser modificado " -"posteriormente" +msgstr "El nombre de usuario debe ser único y no puede ser modificado posteriormente" #: formshare/templates/dashboard/users/snippets/user_form.jinja2:37 msgid "Is super user" @@ -6305,14 +5583,8 @@ msgid "Go to this URL" msgstr "Vaya a este URL" #: formshare/templates/email/recover_email.jinja2:13 -msgid "" -"If you did not request us to reset your password then someone or " -"something is trying to get into our account. Please change your password " -"immediately!" -msgstr "" -"Si no nos has pedido que restablezcamos tu contraseña, entonces alguien o" -" algo está intentando entrar en su cuenta. Por favor, cambie su " -"contraseña inmediatamente!" +msgid "If you did not request us to reset your password then someone or something is trying to get into our account. Please change your password immediately!" +msgstr "Si no nos has pedido que restablezcamos tu contraseña, entonces alguien o algo está intentando entrar en su cuenta. Por favor, cambie su contraseña inmediatamente!" #: formshare/templates/email/token_email.jinja2:7 msgid "This email is a security alert" @@ -6320,24 +5592,16 @@ msgstr "Este correo electrónico es una alerta de seguridad" #: formshare/templates/email/token_email.jinja2:8 msgid "A new API Token has been requested using you API key and secret" -msgstr "" -"Se ha solicitado un nuevo token de API utilizando su clave y secreto de " -"API" +msgstr "Se ha solicitado un nuevo token de API utilizando su clave y secreto de API" #: formshare/templates/email/token_email.jinja2:9 msgid "The token will expire on " msgstr "El token expirará el " -# | msgid "" "If you did not generate a token then your account has been -# | compromised. " "Login into FormShare and change your API credentials -# | immediately!" #: formshare/templates/email/token_email.jinja2:11 -msgid "" -"If you did not generate a token then your account has been compromised.\n" +msgid "If you did not generate a token then your account has been compromised.\n" " Login into FormShare and change your API credentials immediately!" -msgstr "" -"Si no has generado un token, tu cuenta ha sido comprometida. Inicie " -"sesión en FormShare y cambie sus credenciales de API inmediatamente." +msgstr "Si no has generado un token, tu cuenta ha sido comprometida. Inicie sesión en FormShare y cambie sus credenciales de API inmediatamente." #: formshare/templates/generic/403.jinja2:3 #: formshare/templates/generic/403.jinja2:15 @@ -6345,11 +5609,8 @@ msgid "Not authorized" msgstr "Usted no está autorizado" #: formshare/templates/generic/403.jinja2:18 -msgid "" -"Your assistant account does not have sufficient permissions to view this " -"page." -msgstr "" -"Su cuenta de asistente no tiene suficientes permisos para ver esta página." +msgid "Your assistant account does not have sufficient permissions to view this page." +msgstr "Su cuenta de asistente no tiene suficientes permisos para ver esta página." #: formshare/templates/generic/404.jinja2:3 #: formshare/templates/generic/404.jinja2:15 @@ -6357,12 +5618,8 @@ msgid "Page not found" msgstr "Página no encontrada" #: formshare/templates/generic/404.jinja2:18 -msgid "" -"Sorry, but the page you are looking for has not been found. Try checking " -"the URL for errors." -msgstr "" -"Lo sentimos, pero la página que busca no se ha encontrado. Compruebe el " -"URL para ver si hay errores." +msgid "Sorry, but the page you are looking for has not been found. Try checking the URL for errors." +msgstr "Lo sentimos, pero la página que busca no se ha encontrado. Compruebe el URL para ver si hay errores." #: formshare/templates/generic/500.jinja2:3 msgid "Application error" @@ -6373,12 +5630,8 @@ msgid "Internal Server Error" msgstr "Error interno del servidor" #: formshare/templates/generic/500.jinja2:18 -msgid "" -"The server encountered an unexpected error and was not able to complete " -"your request." -msgstr "" -"El servidor ha encontrado un error inesperado y no ha podido completar su" -" solicitud." +msgid "The server encountered an unexpected error and was not able to complete your request." +msgstr "El servidor ha encontrado un error inesperado y no ha podido completar su solicitud." #: formshare/templates/generic/500.jinja2:19 msgid "If the problem persists, please report the issue at:" @@ -6450,12 +5703,8 @@ msgid "Your session has expired." msgstr "Su sesión ha expirado." #: formshare/templates/generic/refresh.jinja2:18 -msgid "" -"Don't worry, just go back and refresh the page to obtain a new secure " -"session." -msgstr "" -"No se preocupe, simplemente regrese y actualice la página para obtener " -"una nueva sesión segura." +msgid "Don't worry, just go back and refresh the page to obtain a new secure session." +msgstr "No se preocupe, simplemente regrese y actualice la página para obtener una nueva sesión segura." #: formshare/templates/generic/register.jinja2:3 #: formshare/templates/generic/register.jinja2:6 @@ -6467,12 +5716,8 @@ msgid "Address" msgstr "Dirección" #: formshare/templates/generic/register.jinja2:23 -msgid "" -"This is a simple name to identify you in FormShare. As an example, you " -"can use the first part of your email." -msgstr "" -"Se trata de un nombre sencillo para identificarte en FormShare. Como " -"ejemplo, puede utilizar la primera parte de su correo electrónico." +msgid "This is a simple name to identify you in FormShare. As an example, you can use the first part of your email." +msgstr "Se trata de un nombre sencillo para identificarte en FormShare. Como ejemplo, puede utilizar la primera parte de su correo electrónico." #: formshare/templates/generic/register.jinja2:36 msgid "Create an account" @@ -6504,9 +5749,7 @@ msgstr "Página de pruebas" #: formshare/templates/generic/testing.jinja2:18 msgid "This page is user by the testing framework. Ignore it otherwise" -msgstr "" -"Esta página es utilizada por el marco de pruebas. Ignórela en caso " -"contrario" +msgstr "Esta página es utilizada por el marco de pruebas. Ignórela en caso contrario" #: formshare/templates/landing/snippets/contact.jinja2:7 msgid "Contact us" @@ -6514,23 +5757,15 @@ msgstr "Contacto con nosotros" #: formshare/templates/landing/snippets/contact.jinja2:8 msgid "If you have questions, please drop us an email or a Github issue" -msgstr "" -"Si tiene alguna pregunta, envíenos un correo electrónico o una incidencia" -" en Github" +msgstr "Si tiene alguna pregunta, envíenos un correo electrónico o una incidencia en Github" #: formshare/templates/landing/snippets/contact.jinja2:19 msgid "P" msgstr "P" #: formshare/templates/landing/snippets/contact.jinja2:26 -msgid "" -"This service is free for now however this could change in the future and " -"you might need to pay a fee and accept a Terms of Service and Privacy " -"policy" -msgstr "" -"Este servicio es gratuito por ahora, pero podría cambiar en el futuro y " -"tener que pagar una cuota y aceptar las condiciones de servicio y la " -"política de privacidad." +msgid "This service is free for now however this could change in the future and you might need to pay a fee and accept a Terms of Service and Privacy policy" +msgstr "Este servicio es gratuito por ahora, pero podría cambiar en el futuro y tener que pagar una cuota y aceptar las condiciones de servicio y la política de privacidad." #: formshare/templates/landing/snippets/contact.jinja2:34 msgid "Send us an email" @@ -6540,6 +5775,10 @@ msgstr "Envíanos un correo electrónico" msgid "Or follow us on social media" msgstr "O síganos en las redes sociales" +#: formshare/templates/landing/snippets/contact.jinja2:57 +msgid "FormShare, the FormShare logo, and the slogan \"Centralize data – Decentralize knowledge\" are either registered trademarks or trademarks of QLands Technology Consultants. All other products, logos, or name brands are trademarks of their respective holders, including QLands Technology Consultants." +msgstr "FormShare, el logotipo de FormShare y el eslogan \"Centralize data - Decentralize knowledge\" son marcas registradas o marcas comerciales de QLands Technology Consultants. Todos los demás productos, logotipos o marcas son marcas registradas de sus respectivos propietarios, incluyendo QLands Technology Consultants." + #: formshare/templates/landing/snippets/features2.jinja2:5 msgid "Centralize" msgstr "Centralice" @@ -6561,12 +5800,8 @@ msgid "Centralize data" msgstr "Centralizar los datos" #: formshare/templates/landing/snippets/features2.jinja2:13 -msgid "" -"Store your data in a consistent way inside a relational database without " -"duplicates or inconsistencies" -msgstr "" -"Almacene sus datos de forma coherente dentro de una base de datos " -"relacional sin duplicados ni incoherencias" +msgid "Store your data in a consistent way inside a relational database without duplicates or inconsistencies" +msgstr "Almacene sus datos de forma coherente dentro de una base de datos relacional sin duplicados ni incoherencias" #: formshare/templates/landing/snippets/features2.jinja2:17 msgid "Complete mobile support" @@ -6581,24 +5816,16 @@ msgid "Decentralize data access" msgstr "Descentraliza el acceso a los datos" #: formshare/templates/landing/snippets/features2.jinja2:28 -msgid "" -"Create collaborations around data and allow access from any location " -"using common tools like Excel, STATA or R" -msgstr "" -"Crea colaboraciones en torno a los datos y permite el acceso desde " -"cualquier lugar utilizando herramientas comunes como Excel, STATA o R" +msgid "Create collaborations around data and allow access from any location using common tools like Excel, STATA or R" +msgstr "Crea colaboraciones en torno a los datos y permite el acceso desde cualquier lugar utilizando herramientas comunes como Excel, STATA o R" #: formshare/templates/landing/snippets/features2.jinja2:32 msgid "Track changes" msgstr "De seguimiento a los cambios" #: formshare/templates/landing/snippets/features2.jinja2:33 -msgid "" -"Browse through your data online and track and manage the changes made to " -"it" -msgstr "" -"Examine sus datos en línea y siga y gestione los cambios realizados en " -"ellos" +msgid "Browse through your data online and track and manage the changes made to it" +msgstr "Examine sus datos en línea y siga y gestione los cambios realizados en ellos" #: formshare/templates/landing/snippets/header.jinja2:76 #: formshare/templates/partner/snippets/header.jinja2:4 @@ -6614,12 +5841,8 @@ msgid "This is a free* service provided by" msgstr "Este es un servicio gratuito* proporcionado por" #: formshare/templates/landing/snippets/pricing.jinja2:112 -msgid "" -"This could change in the future depending on the storage and processing " -"demand." -msgstr "" -"Esto podría cambiar en el futuro según la demanda de almacenamiento y " -"procesamiento." +msgid "This could change in the future depending on the storage and processing demand." +msgstr "Esto podría cambiar en el futuro según la demanda de almacenamiento y procesamiento." #: formshare/templates/landing/snippets/slider.jinja2:14 msgid "Welcome to" @@ -6643,9 +5866,7 @@ msgstr "FormShare combina tecnologías como" #: formshare/templates/landing/snippets/slider.jinja2:32 msgid "to give you the best experience collecting and managing mobile data" -msgstr "" -"para ofrecerle la mejor experiencia en la recolección y gestión de datos " -"móviles" +msgstr "para ofrecerle la mejor experiencia en la recolección y gestión de datos móviles" #: formshare/templates/landing/snippets/slider.jinja2:48 msgid "Next" @@ -6687,88 +5908,130 @@ msgstr "Creado el " msgid "This is the latest export of this product" msgstr "Esta es la última exportación de este producto" -#: formshare/views/assistant_groups.py:89 +#: formshare/views/assistant_groups.py:88 msgid "The group was added to this project" msgstr "El grupo se añadió a este proyecto" -#: formshare/views/assistant_groups.py:96 -#: formshare/views/assistant_groups.py:160 +#: formshare/views/assistant_groups.py:95 formshare/views/assistant_groups.py:159 msgid "You need to specify a name" msgstr "Es necesario especificar un nombre" -#: formshare/views/assistant_groups.py:153 +#: formshare/views/assistant_groups.py:152 msgid "The group was edited successfully" msgstr "El grupo fue editado con éxito" -#: formshare/views/assistant_groups.py:200 -#: formshare/views/assistant_groups.py:328 +#: formshare/views/assistant_groups.py:199 formshare/views/assistant_groups.py:326 msgid "The group was deleted successfully" msgstr "El grupo se ha eliminado con éxito" -#: formshare/views/assistant_groups.py:204 -#: formshare/views/assistant_groups.py:332 +#: formshare/views/assistant_groups.py:203 formshare/views/assistant_groups.py:330 msgid "Unable to delete the group: " msgstr "No se puede eliminar el grupo: " -#: formshare/views/assistant_groups.py:275 formshare/views/form.py:2143 +#: formshare/views/assistant_groups.py:273 formshare/views/form.py:2143 msgid "The assistant was added successfully" msgstr "El asistente se ha añadido con éxito" -#: formshare/views/assistant_groups.py:283 -#| msgid "You need to specify an assistant" +#: formshare/views/assistant_groups.py:281 msgid "You need to specify assistants" msgstr "Es necesario especificar asistentes" -#: formshare/views/assistants.py:131 +#: formshare/views/assistants.py:148 msgid "The assistant was added to this project" msgstr "El asistente fue añadido a este proyecto" -#: formshare/views/assistant_views/forms.py:148 -#: formshare/views/assistants.py:141 formshare/views/assistants.py:414 -#: formshare/views/basic_views.py:303 formshare/views/basic_views.py:758 -#: formshare/views/partner_views/forms.py:119 formshare/views/partners.py:276 -#: formshare/views/partners.py:473 formshare/views/users.py:226 -#: formshare/views/users.py:392 +#: formshare/views/assistant_views/forms.py:148 formshare/views/assistants.py:158 +#: formshare/views/assistants.py:437 formshare/views/basic_views.py:303 +#: formshare/views/basic_views.py:758 formshare/views/partner_views/forms.py:119 +#: formshare/views/partners.py:276 formshare/views/partners.py:473 +#: formshare/views/users.py:226 formshare/views/users.py:392 msgid "The password cannot be empty" msgstr "La contraseña no puede estar vacía" -#: formshare/views/assistant_views/forms.py:144 -#: formshare/views/assistants.py:145 formshare/views/assistants.py:405 -#: formshare/views/basic_views.py:738 +#: formshare/views/assistant_views/forms.py:144 formshare/views/assistants.py:162 +#: formshare/views/assistants.py:428 formshare/views/basic_views.py:738 #: formshare/views/partner_views/forms.py:115 formshare/views/partners.py:271 #: formshare/views/partners.py:470 formshare/views/users.py:223 #: formshare/views/users.py:387 msgid "The password and its confirmation are not the same" msgstr "La contraseña y su confirmación no son la misma" -#: formshare/views/assistants.py:149 formshare/views/basic_views.py:749 -#: formshare/views/users.py:397 -msgid "The user id has invalid characters. Only underscore and dot are allowed" -msgstr "" -"El ID de usuario tiene caracteres no válidos. Sólo se permite el guión " -"bajo y el punto" +#: formshare/views/assistants.py:168 +msgid "The assistant id has invalid characters. Only underscore is allowed" +msgstr "El identificador del asistente tiene caracteres no válidos. Sólo se permite el guión bajo" -#: formshare/views/assistants.py:155 -msgid "You need to specify a user id" -msgstr "Es necesario especificar un identificador de usuario" +#: formshare/views/assistants.py:175 +msgid "You need to specify an assistant name" +msgstr "Debe especificar un nombre de asistente" -#: formshare/views/assistants.py:237 +#: formshare/views/assistants.py:178 +msgid "You need to specify an assistant id" +msgstr "Debe especificar un identificador de asistente" + +#: formshare/views/assistants.py:260 msgid "The assistant was edited successfully" msgstr "El asistente fue editado con éxito" -#: formshare/views/assistants.py:303 +#: formshare/views/assistants.py:326 msgid "The assistant was deleted successfully" msgstr "El asistente ha sido eliminado con éxito" -#: formshare/views/assistants.py:379 +#: formshare/views/assistants.py:402 msgid "The password was changed successfully" msgstr "La contraseña se ha cambiado con éxito" -#: formshare/views/assistant_views/forms.py:132 -#: formshare/views/assistants.py:388 formshare/views/partner_views/forms.py:102 +#: formshare/views/assistant_views/forms.py:132 formshare/views/assistants.py:411 +#: formshare/views/partner_views/forms.py:102 msgid "Unable to change the password: " msgstr "No se puede cambiar la contraseña: " +#: formshare/views/assistants.py:566 formshare/views/form.py:1890 +#: formshare/views/form.py:1897 formshare/views/projects.py:586 +#: formshare/views/projects.py:593 +msgid "Error {} encountered. A log entry has been produced" +msgstr "Error {} encontrado. Se ha producido una entrada en el registro" + +#: formshare/views/assistants.py:581 +msgid "The CSV must have the following columns:" +msgstr "El CSV debe tener las siguientes columnas:" + +#: formshare/views/assistants.py:589 +msgid "The assistant with id = \"{}\" is invalid. Only _ is allowed" +msgstr "El asistente con id = \"{}\" no es válido. Sólo se permite _." + +#: formshare/views/assistants.py:597 +msgid "The assistant with id = {} has empty coll_name" +msgstr "El asistente con id = {} tiene coll_name vacío" + +#: formshare/views/assistants.py:605 +msgid "The assistant with id = {} has empty coll_password" +msgstr "El asistente con id = {} tiene coll_password vacía" + +#: formshare/views/assistants.py:618 +msgid "The assistant with id = {} has an invalid email" +msgstr "El asistente con id = {} tiene un email inválido" + +#: formshare/views/assistants.py:629 +msgid "The assistant with id = {} has an invalid telephone" +msgstr "El asistente con id = {} tiene un correo electrónico no válido" + +#: formshare/views/assistants.py:641 +msgid "The assistant with id = {} is already part of your account. You do not need to duplicate assistants, just mark them as \"Share among projects\" to use them across projects." +msgstr "El asistente con id = {} ya forma parte de su cuenta. No es necesario duplicar los asistentes, basta con marcarlos como \"Compartir entre proyectos\" para utilizarlos en todos los proyectos." + +#: formshare/views/assistants.py:694 +msgid "Your file has assistants with duplicated ids." +msgstr "Su archivo tiene asistentes con ids duplicados." + +#: formshare/views/assistants.py:702 +msgid "Unknown error. A log entry has been created" +msgstr "Error desconocido. Se ha creado una entrada de registro técnico de errores" + +#: formshare/views/assistants.py:706 formshare/views/form.py:1903 +#: formshare/views/projects.py:600 +msgid "The file was uploaded successfully" +msgstr "El archivo se ha cargado con éxito" + #: formshare/views/basic_views.py:297 msgid "The password and the confirmation are not the same" msgstr "La contraseña y la confirmación no son las mismas" @@ -6805,6 +6068,10 @@ msgstr "La cuenta de socio no existe o la contraseña no es válida" msgid "The password must be less than 50 characters" msgstr "La contraseña debe tener menos de 50 caracteres" +#: formshare/views/basic_views.py:749 formshare/views/users.py:397 +msgid "The user id has invalid characters. Only underscore and dot are allowed" +msgstr "El ID de usuario tiene caracteres no válidos. Sólo se permite el guión bajo y el punto" + #: formshare/views/api/version_1/tokens.py:143 formshare/views/classes.py:610 #: formshare/views/classes.py:625 formshare/views/classes.py:989 #: formshare/views/classes.py:1004 @@ -6828,12 +6095,8 @@ msgid "The collaborator was added to this project" msgstr "El colaborador fue añadido a este proyecto" #: formshare/views/collaborators.py:110 -msgid "" -"The collaborator was added to this project. However, an email has been " -"sent to him/her/they to accept the collaboration" -msgstr "" -"El colaborador fue añadido a este proyecto. Sin embargo, se le ha enviado" -" un correo electrónico para que acepte la colaboración" +msgid "The collaborator was added to this project. However, an email has been sent to him/her/they to accept the collaboration" +msgstr "El colaborador fue añadido a este proyecto. Sin embargo, se le ha enviado un correo electrónico para que acepte la colaboración" #: formshare/views/collaborators.py:130 msgid "This collaborator does not exist or is inactive" @@ -6872,87 +6135,51 @@ msgid "Unable to decline the collaboration: " msgstr "No se puede rechazar la colaboración: " #: formshare/views/form.py:310 formshare/views/repository_merge.py:143 -msgid "" -"The repeat \"{}\" changed parent from \"{}\" to \"{}\". You must rename " -"the repeat before merging" -msgstr "" -"El repeat \"{}\" ha cambiado de padre de \"{}\" a \"{}\". Debe cambiar el" -" nombre del repeat antes de fusionar" +msgid "The repeat \"{}\" changed parent from \"{}\" to \"{}\". You must rename the repeat before merging" +msgstr "El repeat \"{}\" ha cambiado de padre de \"{}\" a \"{}\". Debe cambiar el nombre del repeat antes de fusionar" #: formshare/views/form.py:323 formshare/views/repository_merge.py:156 -msgid "" -"The parent repeat \"{}\" of repeat \"{}\" does not exist anymore. You " -"must rename the repeat \"{}\" before merging" -msgstr "" -"El repeat padre \"{}\" del repeat \"{}\" ya no existe. Debe renombrar el " -"repeat \"{}\" antes de fusionarla" +msgid "The parent repeat \"{}\" of repeat \"{}\" does not exist anymore. You must rename the repeat \"{}\" before merging" +msgstr "El repeat padre \"{}\" del repeat \"{}\" ya no existe. Debe renombrar el repeat \"{}\" antes de fusionarla" #: formshare/views/form.py:335 -msgid "" -"The variable \"{}\" in repeat \"{}\" changed type. You must rename the " -"variable before merging." -msgstr "" -"La variable \"{}\" en el repeat \"{}\" ha cambiado de tipo. Debe cambiar " -"el nombre de la variable antes de fusionar." +msgid "The variable \"{}\" in repeat \"{}\" changed type. You must rename the variable before merging." +msgstr "La variable \"{}\" en el repeat \"{}\" ha cambiado de tipo. Debe cambiar el nombre de la variable antes de fusionar." #: formshare/views/form.py:347 -msgid "" -"The variable \"{}\" in repeat \"{}\" has a different choice list name. " -"You must rename the variable before merging. " -msgstr "" -"La variable \"{}\" en el repeat \"{}\" tiene un nombre de lista de " -"elección diferente. Debe cambiar el nombre de la variable antes de la " -"fusión. " +msgid "The variable \"{}\" in repeat \"{}\" has a different choice list name. You must rename the variable before merging. " +msgstr "La variable \"{}\" en el repeat \"{}\" tiene un nombre de lista de elección diferente. Debe cambiar el nombre de la variable antes de la fusión. " #: formshare/views/form.py:370 formshare/views/repository_merge.py:212 -msgid "" -"Unknown error while merging. A message has been sent to the support team " -"and they will contact you ASAP." -msgstr "" -"Error desconocido al fusionar. Se ha enviado un mensaje al equipo de " -"soporte y se pondrán en contacto con usted lo antes posible." +msgid "Unknown error while merging. A message has been sent to the support team and they will contact you ASAP." +msgstr "Error desconocido al fusionar. Se ha enviado un mensaje al equipo de soporte y se pondrán en contacto con usted lo antes posible." #: formshare/views/form.py:383 formshare/views/form.py:394 #: formshare/views/form.py:405 formshare/views/form.py:416 #: formshare/views/form.py:452 formshare/views/form.py:659 #: formshare/views/form.py:670 formshare/views/form.py:681 -msgid "" -"An unexpected error occurred while processing the merge. An email has " -"been sent to the technical team and they will contact you ASAP." -msgstr "" -"Se ha producido un error inesperado al procesar la fusión. Se ha enviado " -"un correo electrónico al equipo técnico y se pondrán en contacto con " -"usted lo antes posible." +msgid "An unexpected error occurred while processing the merge. An email has been sent to the technical team and they will contact you ASAP." +msgstr "Se ha producido un error inesperado al procesar la fusión. Se ha enviado un correo electrónico al equipo técnico y se pondrán en contacto con usted lo antes posible." #: formshare/views/form.py:424 -msgid "" -"This new version of the form has multiple languages when the previous one" -" did not.\n" +msgid "This new version of the form has multiple languages when the previous one did not.\n" "\n" -"Use the \"Fix language\" button to set the languages in this version of " -"the ODK Form." -msgstr "" -"Esta nueva versión del formulario tiene varios idiomas cuando la anterior" -" no los tenía.\n" +"Use the \"Fix language\" button to set the languages in this version of the ODK Form." +msgstr "Esta nueva versión del formulario tiene varios idiomas cuando la anterior no los tenía.\n" "\n" -"Utilice el botón \"Corregir idioma\" para establecer los idiomas en esta " -"versión del formulario ODK." +"Utilice el botón \"Corregir idioma\" para establecer los idiomas en esta versión del formulario ODK." #: formshare/views/form.py:433 -msgid "" -"This version of the ODK Form differs in the languages used. The following" -" languages are undefined:\n" +msgid "This version of the ODK Form differs in the languages used. The following languages are undefined:\n" "\n" -msgstr "" -"Esta versión del Formulario ODK difiere en los idiomas utilizados. Los " -"siguientes idiomas no están definidos:\n" +"" +msgstr "Esta versión del Formulario ODK difiere en los idiomas utilizados. Los siguientes idiomas no están definidos:\n" "\n" +"" #: formshare/views/form.py:576 formshare/views/repository.py:478 msgid "The primary key was not found in the ODK form or is inside a repeat" -msgstr "" -"La clave primaria no se ha encontrado en el formulario ODK o está dentro " -"de un repeat" +msgstr "La clave primaria no se ha encontrado en el formulario ODK o está dentro de un repeat" #: formshare/views/form.py:584 formshare/views/form.py:606 msgid "The following files are missing and you need to attach them:" @@ -6960,9 +6187,7 @@ msgstr "Faltan los siguientes archivos y hay que adjuntarlos:" #: formshare/views/form.py:591 msgid "There was an error while processing some of the XML resource files:" -msgstr "" -"Se ha producido un error al procesar algunos de los archivos de recursos " -"XML:" +msgstr "Se ha producido un error al procesar algunos de los archivos de recursos XML:" #: formshare/views/form.py:614 msgid "The following CSV resource files have invalid characters:" @@ -6970,35 +6195,15 @@ msgstr "Los siguientes archivos de recursos CSV tienen caracteres no válidos:" #: formshare/views/form.py:621 msgid "There was an error while processing some of the CSV resource files:" -msgstr "" -"Se ha producido un error al procesar algunos de los archivos de recursos " -"CSV:" +msgstr "Se ha producido un error al procesar algunos de los archivos de recursos CSV:" #: formshare/views/form.py:638 -msgid "" -"An unexpected error occurred while processing the search expression. An " -"email has been sent to the technical team and they will contact you ASAP." -msgstr "" -"Se ha producido un error inesperado al procesar la expresión de búsqueda." -" Se ha enviado un correo electrónico al equipo técnico y se pondrán en " -"contacto con usted lo antes posible." +msgid "An unexpected error occurred while processing the search expression. An email has been sent to the technical team and they will contact you ASAP." +msgstr "Se ha producido un error inesperado al procesar la expresión de búsqueda. Se ha enviado un correo electrónico al equipo técnico y se pondrán en contacto con usted lo antes posible." #: formshare/views/form.py:646 -#| msgid "" "The variable to control duplicate submissions has an invalid type. -#| E.g., " "the variable cannot be note, picture, video, sound, -#| select_multiple, or " "geo-spacial. The most appropriate types are text, -#| datetime, barcode, " "calculate, select_one, or integer." -msgid "" -"The variable to control duplicate submissions has an invalid type. E.g., " -"the variable cannot be note, picture, video, sound, select_multiple, or " -"geo-spacial. It cannot be instanceID. The most appropriate types are " -"text, datetime, barcode, calculate, select_one, or integer." -msgstr "" -"La variable para controlar envíos duplicados es de un tipo no válido. Por" -" ejemplo, la variable no puede ser nota, imagen, video, sonido, " -"select_multiple o geoespacial. No puede ser instanceID .Los tipos más" -" apropiados son texto, fecha " -"y hora, código de barras, calculate, select_one o entero." +msgid "The variable to control duplicate submissions has an invalid type. E.g., the variable cannot be note, picture, video, sound, select_multiple, or geo-spacial. It cannot be instanceID. The most appropriate types are text, datetime, barcode, calculate, select_one, or integer." +msgstr "La variable para controlar envíos duplicados es de un tipo no válido. Por ejemplo, la variable no puede ser nota, imagen, video, sonido, select_multiple o geoespacial. No puede ser instanceID .Los tipos más apropiados son texto, fecha y hora, código de barras, calculate, select_one o entero." #: formshare/views/form.py:689 msgid "The following choices are duplicated in your ODK:" @@ -7017,12 +6222,8 @@ msgid "You need to indicate a variable for labeling the cases" msgstr "Es necesario indicar una variable para etiquetar los casos" #: formshare/views/form.py:1064 formshare/views/form.py:1278 -msgid "" -"The labeling variable and the variable to identify each case cannot be " -"the same" -msgstr "" -"La variable de etiquetado y la variable para identificar cada caso no " -"pueden ser la misma" +msgid "The labeling variable and the variable to identify each case cannot be the same" +msgstr "La variable de etiquetado y la variable para identificar cada caso no pueden ser la misma" #: formshare/views/form.py:1080 formshare/views/form.py:1292 msgid "You need to indicate a type of case form" @@ -7033,26 +6234,16 @@ msgid "You need to indicate a variable for searching and selecting cases" msgstr "Es necesario indicar una variable para buscar y seleccionar casos" #: formshare/views/form.py:1111 formshare/views/form.py:1319 -msgid "" -"The variable for searching and selecting cases cannot be the same as the " -"primary key" -msgstr "" -"La variable de búsqueda y selección de casos no puede ser la misma que la" -" clave primaria" +msgid "The variable for searching and selecting cases cannot be the same as the primary key" +msgstr "La variable de búsqueda y selección de casos no puede ser la misma que la clave primaria" #: formshare/views/form.py:1129 formshare/views/form.py:1335 msgid "You need to indicate a variable that records date or date and time" -msgstr "" -"Es necesario indicar una variable que registre la fecha o la fecha y la " -"hora" +msgstr "Es necesario indicar una variable que registre la fecha o la fecha y la hora" #: formshare/views/form.py:1148 formshare/views/form.py:1352 -msgid "" -"The variable for recording a date or a date and time cannot be the same " -"as the primary key or the case selector variable" -msgstr "" -"La variable para registrar una fecha o una fecha y hora no puede ser la " -"misma que la clave primaria o la variable del selector de casos" +msgid "The variable for recording a date or a date and time cannot be the same as the primary key or the case selector variable" +msgstr "La variable para registrar una fecha o una fecha y hora no puede ser la misma que la clave primaria o la variable del selector de casos" #: formshare/views/form.py:1179 msgid "The form was added successfully" @@ -7090,15 +6281,6 @@ msgstr "El formulario se ha desactivado con éxito" msgid "No files were attached" msgstr "No se han adjuntado archivos" -#: formshare/views/form.py:1890 formshare/views/form.py:1897 -#: formshare/views/projects.py:586 formshare/views/projects.py:593 -msgid "Error {} encountered. A log entry has been produced" -msgstr "Error {} encontrado. Se ha producido una entrada en el registro" - -#: formshare/views/form.py:1903 formshare/views/projects.py:600 -msgid "The file was uploaded successfully" -msgstr "El archivo se ha cargado con éxito" - #: formshare/views/form.py:1907 formshare/views/projects.py:604 msgid "The files were uploaded successfully" msgstr "Los archivos se han cargado con éxito" @@ -7157,8 +6339,7 @@ msgstr "El alias no es válido" #: formshare/views/form.py:3799 msgid "The alias has invalid characters. Only underscore (_) is allowed" -msgstr "" -"El alias tiene caracteres no válidos. Sólo se permite el guión bajo (_)" +msgstr "El alias tiene caracteres no válidos. Sólo se permite el guión bajo (_)" #: formshare/views/form.py:3885 formshare/views/form.py:3897 #: formshare/views/form.py:4007 formshare/views/form.py:4017 @@ -7234,12 +6415,8 @@ msgid "The password for {} was modified" msgstr "La contraseña de {} fue modificada" #: formshare/views/partners.py:507 -msgid "" -"This partner was created by {0} ({1}). Only {0} or and administrator can " -"delete it" -msgstr "" -"Este socio fue creado por {0} ({1}). Sólo {0} o un administrador pueden " -"eliminarlo" +msgid "This partner was created by {0} ({1}). Only {0} or and administrator can delete it" +msgstr "Este socio fue creado por {0} ({1}). Sólo {0} o un administrador pueden eliminarlo" #: formshare/views/partners.py:551 msgid "The partner has been deleted" @@ -7273,12 +6450,10 @@ msgstr "Es necesario especificar una nueva contraseña" msgid "You need to specify the old password" msgstr "Es necesario especificar la antigua contraseña" -# | msgid "The user has been updated" #: formshare/views/profile.py:152 msgid "The key and secret has been updated" msgstr "La llave y la contraseña se han actualizado" -# | msgid "You need to specify an assistant" #: formshare/views/profile.py:160 msgid "You need to specify the an API key and secret" msgstr "Es necesario especificar la llave y contraseña API." @@ -7289,9 +6464,7 @@ msgstr "El proyecto se ha creado" #: formshare/views/projects.py:295 msgid "The project code has invalid characters. Only underscore (_) is allowed" -msgstr "" -"El código del proyecto tiene caracteres no válidos. Sólo se permite el " -"guión bajo (_)" +msgstr "El código del proyecto tiene caracteres no válidos. Sólo se permite el guión bajo (_)" #: formshare/views/projects.py:300 msgid "The project code cannot be empty" @@ -7354,20 +6527,12 @@ msgid "FormShare is merging the form." msgstr "FormShare está fusionando el formulario." #: formshare/views/repository_merge.py:170 -msgid "" -"The field \"{}\" in table \"{}\" changed type. You must rename the field " -"before merging." -msgstr "" -"El campo \"{}\" de la tabla \"{}\" ha cambiado de tipo. Debe cambiar el " -"nombre del campo antes de fusionarlo." +msgid "The field \"{}\" in table \"{}\" changed type. You must rename the field before merging." +msgstr "El campo \"{}\" de la tabla \"{}\" ha cambiado de tipo. Debe cambiar el nombre del campo antes de fusionarlo." #: formshare/views/repository_merge.py:185 -msgid "" -"The option \"{}\" in lookup table \"{}\" changed description from \"{}\" " -"to \"{}\"." -msgstr "" -"La opción \"{}\" en la tabla de búsqueda \"{}\" ha cambiado la " -"descripción de \"{}\" a \"{}\"." +msgid "The option \"{}\" in lookup table \"{}\" changed description from \"{}\" to \"{}\"." +msgstr "La opción \"{}\" en la tabla de búsqueda \"{}\" ha cambiado la descripción de \"{}\" a \"{}\"." #: formshare/views/repository_merge.py:198 msgid "The field \"{}\" in table \"{}\" changed relationship" @@ -7394,12 +6559,8 @@ msgid "Cannot find an assistant with such API key" msgstr "No se puede encontrar un asistente con dicha clave API" #: formshare/views/repository_submissions.py:527 -msgid "" -"This API key don't have permission to clean the form associated with the " -"indicated Row ID" -msgstr "" -"Esta clave API no tiene permiso para limpiar el formulario asociado al ID" -" de fila indicado" +msgid "This API key don't have permission to clean the form associated with the indicated Row ID" +msgstr "Esta clave API no tiene permiso para limpiar el formulario asociado al ID de fila indicado" #: formshare/views/repository_submissions.py:543 msgid "Update completed" @@ -7426,27 +6587,18 @@ msgid "Tokens can only be requested by POST." msgstr "Los tokens sólo se pueden solicitar por POST." #: formshare/views/api/version_1/tokens.py:88 -msgid "" -"Your account does not have an API secret. Go to your profile and set an " -"API secret" -msgstr "" -"Su cuenta no tiene una contraseña de API. Vaya a su perfil y establezca " -"una contraseña de API" +msgid "Your account does not have an API secret. Go to your profile and set an API secret" +msgstr "Su cuenta no tiene una contraseña de API. Vaya a su perfil y establezca una contraseña de API" #: formshare/views/api/version_1/tokens.py:156 -msgid "" -"You need to indicate an API key (X-API-Key) and an API Secret (X-API-" -"Secret)." -msgstr "" -"Debe indicar una clave de API (X-API-Key) y un secreto de API (X-API-" -"Secret)." +msgid "You need to indicate an API key (X-API-Key) and an API Secret (X-API-Secret)." +msgstr "Debe indicar una clave de API (X-API-Key) y un secreto de API (X-API-Secret)." #: formshare/views/assistant_views/forms.py:140 #: formshare/views/partner_views/forms.py:111 msgid "The old password is not correct" msgstr "La antigua contraseña no es correcta" -# | msgid "Unable to change the key: " #: formshare/views/assistant_views/forms.py:179 msgid "Unable to change the key. No API key and secret" msgstr "No se pudo cambiar la llave. No hay llave y contraseña API" @@ -7463,12 +6615,8 @@ msgstr "No se puede cambiar la zona horaria: " #: formshare/views/assistant_views/jsonlogs.py:190 #: formshare/views/assistant_views/jsonlogs.py:851 -msgid "" -"An error occurred while comparing the files. Sorry for this. Please post " -"the below error as an issue in " -msgstr "" -"Se ha producido un error al comparar los archivos. Lo sentimos. Por " -"favor, publique el siguiente error como un problema en " +msgid "An error occurred while comparing the files. Sorry for this. Please post the below error as an issue in " +msgstr "Se ha producido un error al comparar los archivos. Lo sentimos. Por favor, publique el siguiente error como un problema en " #: formshare/views/assistant_views/jsonlogs.py:204 msgid "The submission ID does not exist" @@ -7498,36 +6646,3 @@ msgstr "Es necesario dar una explicación cuando se descarta un error" msgid "You need to provide an explanation when canceling a disregard" msgstr "Es necesario dar una explicación cuando se anula un descarte" -#~ msgid "Never share your API key" -#~ msgstr "No comparta nunca su clave API" - -#~ msgid "Never share your API secret" -#~ msgstr "No comparta nunca su secreto de la API" - -#~ msgid "API Download" -#~ msgstr "Descargar usando API" - -#~ msgid "You need to provide a password" -#~ msgstr "Debe proporcionar una contraseña" - -#~ msgid "This API key does not exist or is inactive" -#~ msgstr "Esta clave API no existe o está inactiva" - -#~ msgid "You need to specify an API key" -#~ msgstr "Es necesario especificar una llave API" - -#~ msgid "You are not authorized to modify this project" -#~ msgstr "No está autorizado a modificar este proyecto" - -#~ msgid "The form does not exist" -#~ msgstr "El formulario no existe" - -#~ msgid "You did not attach any file" -#~ msgstr "No has adjuntado ningún archivo" - -#~ msgid "The file was uploaded" -#~ msgstr "El archivo fue cargado" - -#~ msgid "And" -#~ msgstr "Y" - diff --git a/formshare/locale/fr/LC_MESSAGES/formshare.po b/formshare/locale/fr/LC_MESSAGES/formshare.po index 0d1580679..2ba0d7025 100644 --- a/formshare/locale/fr/LC_MESSAGES/formshare.po +++ b/formshare/locale/fr/LC_MESSAGES/formshare.po @@ -1,37 +1,22 @@ -# Carlos Quiros , 2022, 2023. msgid "" msgstr "" -"Project-Id-Version: FormShare\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-03-30 08:42-0400\n" -"PO-Revision-Date: 2023-03-30 09:42-0400\n" -"Last-Translator: Carlos Quiros \n" -"Language: fr\n" -"Language-Team: English \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" -"Generated-By: Babel 2.10.3\n" -"X-Generator: Lokalize 21.12.3\n" +"X-Generator: POEditor.com\n" +"Project-Id-Version: FormShare\n" +"Language: fr\n" #: formshare/config/auth.py:52 formshare/views/basic_views.py:226 #: formshare/views/basic_views.py:432 msgid "The user account does not exist or the password is invalid" msgstr "Le compte utilisateur n’existe pas ou le mot de passe est incorrect" -#: formshare/processes/db/assistant.py:302 -msgid "" -"The assistant already exists in your account. You do not need to " -"duplicate assistants, just mark them as \"Share among projects\" to use " -"them across projects." -msgstr "" -"L’assistant existe déjà dans votre compte. Vous n’avez pas besoin de " -"dupliquer les assistants, il suffit de les marquer comme « Partager entre" -" les projets » pour les utiliser à travers les projets." +#: formshare/processes/db/assistant.py:310 +msgid "The assistant already exists in your account. You do not need to duplicate assistants, just mark them as \"Share among projects\" to use them across projects." +msgstr "L’assistant existe déjà dans votre compte. Vous n’avez pas besoin de dupliquer les assistants, il suffit de les marquer comme « Partager entre les projets » pour les utiliser à travers les projets." -#: formshare/processes/db/assistant.py:322 -#: formshare/processes/db/assistant.py:351 +#: formshare/processes/db/assistant.py:331 formshare/processes/db/assistant.py:360 msgid "The assistant is already part of this project" msgstr "L’assistant fait déjà partie de ce projet" @@ -104,9 +89,7 @@ msgstr "Un projet avec le nom '{}' existe déjà dans votre compte" #: formshare/processes/db/project.py:1209 msgid "If you have forms with submissions, first you need to delete such forms" -msgstr "" -"Si vous avez des formulaires avec des soumissions, vous devez d’abord " -"supprimer ces formulaires" +msgstr "Si vous avez des formulaires avec des soumissions, vous devez d’abord supprimer ces formulaires" #: formshare/processes/db/user.py:148 msgid "Username is already taken" @@ -130,9 +113,7 @@ msgstr "Alerte de sécurité du jeton" #: formshare/processes/odk/api.py:459 msgid "The primary key variable does not exist or is inside a repeat" -msgstr "" -"La variable clé primaire n’existe pas ou se trouve à l’intérieur d’une " -"répétition" +msgstr "La variable clé primaire n’existe pas ou se trouve à l’intérieur d’une répétition" #: formshare/processes/odk/api.py:473 formshare/processes/odk/api.py:522 #: formshare/processes/odk/api.py:544 formshare/processes/odk/api.py:647 @@ -141,12 +122,8 @@ msgid "FormShare thoroughly checks your ODK for inconsistencies." msgstr "FormShare vérifie soigneusement votre ODK pour les incohérences." #: formshare/processes/odk/api.py:477 -msgid "" -"The following variables are duplicated within repeats or outside repeats " -"in the ODK you just submitted:" -msgstr "" -"Les variables suivantes sont dupliquées à l'intérieur ou à l'extérieur " -"des répétitions dans l'ODK que vous venez de soumettre :" +msgid "The following variables are duplicated within repeats or outside repeats in the ODK you just submitted:" +msgstr "Les variables suivantes sont dupliquées à l'intérieur ou à l'extérieur des répétitions dans l'ODK que vous venez de soumettre :" #: formshare/processes/odk/api.py:487 msgid "Outside any repeat" @@ -161,13 +138,8 @@ msgid "Variable: {}" msgstr "Variable : {}" #: formshare/processes/odk/api.py:504 formshare/processes/odk/api.py:663 -msgid "" -"Please note that FormShare only allows basic Latin letters, digits 0-9, " -"dollar and underscore in repeat, group and variable names." -msgstr "" -"Veuillez noter que FormShare n’autorise que les lettres latines de base, " -"les chiffres 0-9, le dollar et le soulignement dans les noms répétitifs, " -"de groupe et les variables." +msgid "Please note that FormShare only allows basic Latin letters, digits 0-9, dollar and underscore in repeat, group and variable names." +msgstr "Veuillez noter que FormShare n’autorise que les lettres latines de base, les chiffres 0-9, le dollar et le soulignement dans les noms répétitifs, de groupe et les variables." #: formshare/processes/odk/api.py:524 msgid "The following variables have invalid names:" @@ -190,31 +162,12 @@ msgid "Please remove the duplicated choices and try again." msgstr "S’il vous plaît supprimer les choix dupliqués et essayer à nouveau." #: formshare/processes/odk/api.py:572 formshare/views/form.py:712 -msgid "" -"This ODK form mixes coded and not coded languages. For example " -"label::English (en) and label::Español. You need to code all the labels " -"that are marked for translation." -msgstr "" -"Ce formulaire ODK mélange des langues codées et non codées. Par exemple " -"label::English (en) et label::Español. Il est nécessaire d'encoder toutes" -" les étiquettes qui sont marqués pour être traduits." +msgid "This ODK form mixes coded and not coded languages. For example label::English (en) and label::Español. You need to code all the labels that are marked for translation." +msgstr "Ce formulaire ODK mélange des langues codées et non codées. Par exemple label::English (en) et label::Español. Il est nécessaire d'encoder toutes les étiquettes qui sont marqués pour être traduits." #: formshare/processes/odk/api.py:580 -#| msgid "" "The variable to control duplicate submissions has an invalid type. -#| E.g., " "the variable cannot be note, picture, video, sound, -#| select_multiple, or " "geospatial. The most appropriate types are text, -#| datetime, barcode, " "calculate, select_one, or integer" -msgid "" -"The variable to control duplicate submissions has an invalid type. E.g., " -"the variable cannot be note, picture, video, sound, select_multiple, or " -"geospatial. It cannot be instanceID. The most appropriate types are text," -" datetime, barcode, calculate, select_one, or integer" -msgstr "" -"La variable pour contrôler les soumissions en double a un type invalide. Par" -" exemple, la variable ne peut pas être note, image, vidéo, son," -" select_multiple ou géospatiale. Il ne peut pas s'agir de \"instanceID\". Les" -" types les plus appropriés sont le texte, la date et l'heure, le code-barres," -" le calcul, le select_one ou le nombre entier." +msgid "The variable to control duplicate submissions has an invalid type. E.g., the variable cannot be note, picture, video, sound, select_multiple, or geospatial. It cannot be instanceID. The most appropriate types are text, datetime, barcode, calculate, select_one, or integer" +msgstr "La variable pour contrôler les soumissions en double a un type invalide. Par exemple, la variable ne peut pas être note, image, vidéo, son, select_multiple ou géospatiale. Il ne peut pas s'agir de \"instanceID\". Les types les plus appropriés sont le texte, la date et l'heure, le code-barres, le calcul, le select_one ou le nombre entier." #: formshare/processes/odk/api.py:600 formshare/views/form.py:721 msgid "FormShare needs you to shorten the name of some of your tables." @@ -226,15 +179,11 @@ msgstr "Les tables suivantes ont un nom de plus de 64 caractères :" #: formshare/processes/odk/api.py:627 formshare/views/form.py:754 msgid "Please shorten the name of the tables and/or the selects and try again." -msgstr "" -"Raccourcissez le nom des tables et/ou des listes de sélection et " -"réessayez." +msgstr "Raccourcissez le nom des tables et/ou des listes de sélection et réessayez." #: formshare/processes/odk/api.py:651 msgid "The following repeats are duplicated in the ODK you just submitted:" -msgstr "" -"Les répétitions suivantes sont dupliquées dans l’ODK que vous venez de " -"soumettre :" +msgstr "Les répétitions suivantes sont dupliquées dans l’ODK que vous venez de soumettre :" #: formshare/processes/odk/api.py:659 msgid "Repeat: {}" @@ -242,38 +191,23 @@ msgstr "Répéter: {}" #: formshare/processes/odk/api.py:707 formshare/views/form.py:554 msgid "The following options are duplicated in the ODK you just submitted:" -msgstr "" -"Les options suivantes sont dupliquées dans l’ODK que vous venez de " -"soumettre :" +msgstr "Les options suivantes sont dupliquées dans l’ODK que vous venez de soumettre :" #: formshare/processes/odk/api.py:719 formshare/views/form.py:566 msgid "Option {} in variable {}" msgstr "Option {} en variable {}" #: formshare/processes/odk/api.py:737 -msgid "" -"Malformed language in your ODK. You have label:X (Y) when it must be " -"label::X (Y). With two colons (::)" -msgstr "" -"Mauvaise langue dans votre ODK. Vous avez label:X (Y) alors qu'il devrait" -" êtrelabel::X (Y). Avec deux points (::)" +msgid "Malformed language in your ODK. You have label:X (Y) when it must be label::X (Y). With two colons (::)" +msgstr "Mauvaise langue dans votre ODK. Vous avez label:X (Y) alors qu'il devrait êtrelabel::X (Y). Avec deux points (::)" #: formshare/processes/odk/api.py:754 -msgid "" -"You have choice lists with names but not labels. Did you missed the :: " -"between label and language? Like label:English (en)" -msgstr "" -"Vous avez des listes de sélection avec des noms mais pas d'étiquettes, " -"avez-vous manqué le : : entre l'étiquette et la langue ? En tant " -"qu'étiquette : English (en)" +msgid "You have choice lists with names but not labels. Did you missed the :: between label and language? Like label:English (en)" +msgstr "Vous avez des listes de sélection avec des noms mais pas d'étiquettes, avez-vous manqué le : : entre l'étiquette et la langue ? En tant qu'étiquette : English (en)" #: formshare/processes/odk/api.py:829 -msgid "" -"FormShare manages your data in a better way but by doing so it has more " -"restrictions." -msgstr "" -"FormShare gère vos données d’une meilleure manière, mais ce faisant, il a" -" plus de restrictions." +msgid "FormShare manages your data in a better way but by doing so it has more restrictions." +msgstr "FormShare gère vos données d’une meilleure manière, mais ce faisant, il a plus de restrictions." #: formshare/processes/odk/api.py:835 msgid "The following tables have more than 60 selects: " @@ -292,68 +226,24 @@ msgid "Some information on this restriction and how to correct it:" msgstr "Quelques informations sur cette restriction et comment la corriger :" #: formshare/processes/odk/api.py:853 -msgid "" -"We tend to organize our ODK forms in sections with questions around a " -"topic. For example: \"livestock inputs\" or \"crops sales\"." -msgstr "" -"Nous avons tendance à organiser nos formulaires ODK en sections avec des " -"questions autour d’un sujet. Par exemple : « intrants pour le bétail » ou" -" « ventes de cultures »." +msgid "We tend to organize our ODK forms in sections with questions around a topic. For example: \"livestock inputs\" or \"crops sales\"." +msgstr "Nous avons tendance à organiser nos formulaires ODK en sections avec des questions autour d’un sujet. Par exemple : « intrants pour le bétail » ou « ventes de cultures »." #: formshare/processes/odk/api.py:861 -msgid "" -"These sections have type = \"begin/end group\". We also organize " -"questions that must be repeated in sections with type = \"begin/end " -"repeat.\"" -msgstr "" -"Ces sections ont le type = «démarrer/terminer groupe». Nous organisons " -"également des questions qui doivent être répétées dans les sections avec " -"type = \"démarrer / terminer répétition.\"" +msgid "These sections have type = \"begin/end group\". We also organize questions that must be repeated in sections with type = \"begin/end repeat.\"" +msgstr "Ces sections ont le type = «démarrer/terminer groupe». Nous organisons également des questions qui doivent être répétées dans les sections avec type = \"démarrer / terminer répétition.\"" #: formshare/processes/odk/api.py:869 -msgid "" -"FormShare stores repeats as separate tables (like different Excel sheets)" -" however groups are not stored as repeats. FormShare stores all items " -"(questions, notes, calculations, etc.) outside repeats into a table " -"called \"maintable\". Thus \"maintable\" usually end up with several " -"items and if your ODK form has many selects, then the \"maintable\" could" -" potentially have more than 60 selects. FormShare can only handle 60 " -"selects per table." -msgstr "" -"FormShare conserve les répétitions sous forme de tableaux séparés (comme " -"différentes feuilles Excel) mais les groupes ne sont pas rangés sous " -"forme de répétitions. FormShare stocke tous les éléments (questions, " -"notes, calculs, etc.) à l’extérieur des répétitions dans un tableau " -"appelé «maintable». Ainsi, «maintable» se retrouvent généralement avec " -"plusieurs éléments, et si votre formulaire ODK a de nombreuses " -"sélections, alors le «maintable» peut potentiellement avoir plus de 60 " -"sélections. FormShare ne peut gérer que 60 sélections par tableau." +msgid "FormShare stores repeats as separate tables (like different Excel sheets) however groups are not stored as repeats. FormShare stores all items (questions, notes, calculations, etc.) outside repeats into a table called \"maintable\". Thus \"maintable\" usually end up with several items and if your ODK form has many selects, then the \"maintable\" could potentially have more than 60 selects. FormShare can only handle 60 selects per table." +msgstr "FormShare conserve les répétitions sous forme de tableaux séparés (comme différentes feuilles Excel) mais les groupes ne sont pas rangés sous forme de répétitions. FormShare stocke tous les éléments (questions, notes, calculs, etc.) à l’extérieur des répétitions dans un tableau appelé «maintable». Ainsi, «maintable» se retrouvent généralement avec plusieurs éléments, et si votre formulaire ODK a de nombreuses sélections, alors le «maintable» peut potentiellement avoir plus de 60 sélections. FormShare ne peut gérer que 60 sélections par tableau." #: formshare/processes/odk/api.py:881 -msgid "" -"You can bypass this restriction by creating groups of items inside " -"repeats BUT WITH repeat_count = 1. A repeat with repeat_count = 1 will " -"behave in the same way as a group, but FormShare will create a new table " -"for it to store all its items. Eventually if you export the data to Excel" -" your items will be organized in different sheets each representing a " -"table." -msgstr "" -"Vous pouvez contourner cette restriction en créant des groupes d’éléments" -" à l’intérieur des répétitions, MAIS AVEC repeat_count = 1. Une " -"répétition avec repeat_count = 1 se comportera de la même manière qu’un " -"groupe, mais FormShare créera un nouveau tableau pour stocker tous ses " -"éléments. Finalement, si vous exportez les données vers Excel, vos " -"éléments seront organisés dans différentes feuilles représentant chacune " -"un tableau." +msgid "You can bypass this restriction by creating groups of items inside repeats BUT WITH repeat_count = 1. A repeat with repeat_count = 1 will behave in the same way as a group, but FormShare will create a new table for it to store all its items. Eventually if you export the data to Excel your items will be organized in different sheets each representing a table." +msgstr "Vous pouvez contourner cette restriction en créant des groupes d’éléments à l’intérieur des répétitions, MAIS AVEC repeat_count = 1. Une répétition avec repeat_count = 1 se comportera de la même manière qu’un groupe, mais FormShare créera un nouveau tableau pour stocker tous ses éléments. Finalement, si vous exportez les données vers Excel, vos éléments seront organisés dans différentes feuilles représentant chacune un tableau." #: formshare/processes/odk/api.py:890 -msgid "" -"Please edit your ODK XLSX/XLS file, group several items inside repeats " -"with repeat_count = 1 and try to upload the form again." -msgstr "" -"Veuillez modifier votre fichier ODK XLSX/XLS, regrouper plusieurs " -"éléments à l’intérieur des répétitions avec repeat_count = 1 et essayer " -"de télécharger le formulaire à nouveau." +msgid "Please edit your ODK XLSX/XLS file, group several items inside repeats with repeat_count = 1 and try to upload the form again." +msgstr "Veuillez modifier votre fichier ODK XLSX/XLS, regrouper plusieurs éléments à l’intérieur des répétitions avec repeat_count = 1 et essayer de télécharger le formulaire à nouveau." #: formshare/processes/odk/api.py:936 formshare/processes/odk/api.py:1371 msgid "No file was attached" @@ -364,148 +254,78 @@ msgid "Invalid file type" msgstr "Type de fichier incorrect" #: formshare/processes/odk/api.py:1027 formshare/processes/odk/api.py:1465 -msgid "" -"The variable {} used to identify the cases is invalid. Only text, " -"calculates or integers are allowed." -msgstr "" -"La variable {} utilisée pour identifier les observations n'est pas " -"valide. Seuls le texte, les calculs ou les nombres entiers sont " -"autorisés." +msgid "The variable {} used to identify the cases is invalid. Only text, calculates or integers are allowed." +msgstr "La variable {} utilisée pour identifier les observations n'est pas valide. Seuls le texte, les calculs ou les nombres entiers sont autorisés." #: formshare/processes/odk/api.py:1048 formshare/processes/odk/api.py:1486 -msgid "" -"The variable {} used to label cases was not found or is invalid. Only " -"text, calculates or integers are allowed." -msgstr "" -"La variable {} utilisée pour étiqueter les observations n'est pas valide." -" Seuls le texte, les calculs ou les nombres entiers sont autorisés." +msgid "The variable {} used to label cases was not found or is invalid. Only text, calculates or integers are allowed." +msgstr "La variable {} utilisée pour étiqueter les observations n'est pas valide. Seuls le texte, les calculs ou les nombres entiers sont autorisés." #: formshare/processes/odk/api.py:1076 -msgid "" -"The variable {} used to search and select cases was not found or is " -"invalid. The variable must be select_one_from_file using a CSV file or a " -"barcode" -msgstr "" -"La variable {} utilisée pour rechercher et sélectionner des observations " -"n'a pas été trouvée ou n'est pas valide. La variable doit être " -"select_one_from_file à l'aide d'un fichier CSV ou une variable de code-" -"barres." +msgid "The variable {} used to search and select cases was not found or is invalid. The variable must be select_one_from_file using a CSV file or a barcode" +msgstr "La variable {} utilisée pour rechercher et sélectionner des observations n'a pas été trouvée ou n'est pas valide. La variable doit être select_one_from_file à l'aide d'un fichier CSV ou une variable de code-barres." #: formshare/processes/odk/api.py:1091 formshare/processes/odk/api.py:1530 -msgid "" -"The variable {} used to record a date or date and time was not found or " -"is invalid. The variable must be date or datetime." -msgstr "" -"La variable {} utilisée pour enregistrer la date n'a pas été trouvée ou " -"n'est pas valide. La variable doit être \"date\" ou \"datetime\"." +msgid "The variable {} used to record a date or date and time was not found or is invalid. The variable must be date or datetime." +msgstr "La variable {} utilisée pour enregistrer la date n'a pas été trouvée ou n'est pas valide. La variable doit être \"date\" ou \"datetime\"." #: formshare/processes/odk/api.py:1310 msgid "The form already exists in this project" msgstr "Le formulaire existe déjà dans ce projet" #: formshare/processes/odk/api.py:1314 formshare/processes/odk/api.py:1796 -msgid "" -"The form ID has especial characters. FormShare only allows letters, " -"numbers and underscores(_)" -msgstr "" -"L’ID du formulaire a des caractères spéciaux. FormShare n’autorise que " -"les lettres, les chiffres et les soulignements." +msgid "The form ID has especial characters. FormShare only allows letters, numbers and underscores(_)" +msgstr "L’ID du formulaire a des caractères spéciaux. FormShare n’autorise que les lettres, les chiffres et les soulignements." #: formshare/processes/odk/api.py:1321 msgid "Cannot find XForm ID. Please include this ODK form in an issue on " -msgstr "" -"Impossible de trouver XForm ID. Veuillez inclure ce formulaire ODK dans " -"un problème sur " +msgstr "Impossible de trouver XForm ID. Veuillez inclure ce formulaire ODK dans un problème sur " #: formshare/processes/odk/api.py:1514 -msgid "" -"The variable {} used to search and select cases was not found or is " -"invalid. The variable must be select_one_from_file using a CSV file or a " -"barcode." -msgstr "" -"La variable {} utilisée pour rechercher et sélectionner des observations " -"n'a pas été trouvée ou n'est pas valide. La variable doit être " -"select_one_from_file à l'aide d'un fichier CSV ou une variable de code-" -"barres." +msgid "The variable {} used to search and select cases was not found or is invalid. The variable must be select_one_from_file using a CSV file or a barcode." +msgstr "La variable {} utilisée pour rechercher et sélectionner des observations n'a pas été trouvée ou n'est pas valide. La variable doit être select_one_from_file à l'aide d'un fichier CSV ou une variable de code-barres." #: formshare/processes/odk/api.py:1784 msgid "The form does not exist in this project" msgstr "Le formulaire n’existe pas dans ce projet" #: formshare/processes/odk/api.py:1788 -msgid "" -"The \"form_id\" of the current form does not match the \"form_id\" of the" -" one you uploaded. You cannot update a form with another form." -msgstr "" -"Le \"form_id\" du formulaire actuel ne correspond pas au \"form_id\" de " -"celui que vous avez téléchargé. Vous ne pouvez pas mettre à jour un " -"formulaire avec un autre formulaire." +msgid "The \"form_id\" of the current form does not match the \"form_id\" of the one you uploaded. You cannot update a form with another form." +msgstr "Le \"form_id\" du formulaire actuel ne correspond pas au \"form_id\" de celui que vous avez téléchargé. Vous ne pouvez pas mettre à jour un formulaire avec un autre formulaire." #: formshare/processes/odk/api.py:1803 msgid "Cannot find XForm ID. Please post the form as an issue on " -msgstr "" -"Impossible de trouver XForm ID. S’il vous plaît poster le formulaire " -"comme un problème sur " +msgstr "Impossible de trouver XForm ID. S’il vous plaît poster le formulaire comme un problème sur " #: formshare/processes/odk/api.py:2535 -msgid "" -"The language \"{}\" is missing in this version of the form and cannot be " -"merged.\n" +msgid "The language \"{}\" is missing in this version of the form and cannot be merged.\n" "\n" -"Use the \"Fix language\" button to set the languages in this version of " -"the ODK Form." -msgstr "" -"La langue \"{}\" n'est pas présente dans cette version du formulaire et " -"ne peut pas êtrefusionné.\n" +"Use the \"Fix language\" button to set the languages in this version of the ODK Form." +msgstr "La langue \"{}\" n'est pas présente dans cette version du formulaire et ne peut pas êtrefusionné.\n" "\n" -"Utilisez le bouton \"Corriger la langue\" pour configurer les langues " -"dans cette version dele formulaire ODK." +"Utilisez le bouton \"Corriger la langue\" pour configurer les langues dans cette version dele formulaire ODK." #: formshare/processes/odk/api.py:2541 -msgid "" -"The language called \"default\" appears when you have a \"label\" without" -" indicating a language. For example if you had a column called \"label\" " -"and another called \"label:English (es)\" then \"default\" refers to the " -"language of \"label\" which was not indicated in the previous version of " -"this ODK Form.\n" +msgid "The language called \"default\" appears when you have a \"label\" without indicating a language. For example if you had a column called \"label\" and another called \"label:English (es)\" then \"default\" refers to the language of \"label\" which was not indicated in the previous version of this ODK Form.\n" "\n" -"In this new version you added the language to the \"label\" therefore " -"\"default\" does not exists" -msgstr "" -"La langue appelée \"default\" apparaît lorsque vous avez un \"label\" " -"sans indiquer la langue. Par exemple, si vous aviez une colonne appelée " -"\"label\"et un autre appelé \"label::English (es)\", puis \"default\" " -"fait référence aulangue du \"label\" dont la langue n'était pas indiquée " -"dans la version précédente dece formulaire ODK. \\ n\\ nDans cette " -"nouvelle version, ajout de la langue à \"label\", donc\"default\" " -"n'existe pas" +"In this new version you added the language to the \"label\" therefore \"default\" does not exists" +msgstr "La langue appelée \"default\" apparaît lorsque vous avez un \"label\" sans indiquer la langue. Par exemple, si vous aviez une colonne appelée \"label\"et un autre appelé \"label::English (es)\", puis \"default\" fait référence aulangue du \"label\" dont la langue n'était pas indiquée dans la version précédente dece formulaire ODK. \\ n\\ nDans cette nouvelle version, ajout de la langue à \"label\", donc\"default\" n'existe pas" #: formshare/processes/odk/api.py:2557 -msgid "" -"This version of the form is in multiple languages but the previous one " -"was not and therefore and cannot be merged.\n" +msgid "This version of the form is in multiple languages but the previous one was not and therefore and cannot be merged.\n" "\n" -"Use the \"Fix language\" button to set the languages in this version of " -"the ODK Form." -msgstr "" -"Cette version du formulaire est en plusieurs langues, mais la " -"précédentenon et ne peuvent donc pas être fusionnés.\n" +"Use the \"Fix language\" button to set the languages in this version of the ODK Form." +msgstr "Cette version du formulaire est en plusieurs langues, mais la précédentenon et ne peuvent donc pas être fusionnés.\n" "\n" -"Utilisez le bouton \"Corriger la langue\" pour configurer les langues " -"dans cette version duFormulaire ODK." +"Utilisez le bouton \"Corriger la langue\" pour configurer les langues dans cette version duFormulaire ODK." #: formshare/processes/odk/api.py:3693 -msgid "" -"Generating Diff HTML file error. Diff file for such commit does not exist" -msgstr "" -"Erreur de génération du fichier d'erreur Diff HTML. Le fichier diff " -"n'existe pas" +msgid "Generating Diff HTML file error. Diff file for such commit does not exist" +msgstr "Erreur de génération du fichier d'erreur Diff HTML. Le fichier diff n'existe pas" #: formshare/processes/odk/geojson.py:27 msgid "The GeoJSON file has features that are not feature" -msgstr "" -"Le fichier GeoJSON présente des caractéristiques qui ne sont pas " -"caractéristique" +msgstr "Le fichier GeoJSON présente des caractéristiques qui ne sont pas caractéristique" #: formshare/processes/odk/geojson.py:31 msgid "The GeoJSON file has features without geometry" @@ -513,9 +333,7 @@ msgstr "Le fichier GeoJSON contient des caractéristiques sans géométrie." #: formshare/processes/odk/geojson.py:36 msgid "The GeoJSON file has features that are not point" -msgstr "" -"Le fichier GeoJSON contient des caractéristiques qui ne sont pas des " -"points." +msgstr "Le fichier GeoJSON contient des caractéristiques qui ne sont pas des points." #: formshare/processes/odk/geojson.py:40 msgid "The GeoJSON file has features without properties" @@ -523,9 +341,7 @@ msgstr "Le fichier GeoJSON contient des caractéristiques sans propriétés." #: formshare/processes/odk/geojson.py:48 msgid "The GeoJSON file has features with properties without id or label" -msgstr "" -"Le fichier GeoJSON contient des caractéristiques avec des propriétés sans" -" id ni tag." +msgstr "Le fichier GeoJSON contient des caractéristiques avec des propriétés sans id ni tag." #: formshare/processes/odk/geojson.py:52 msgid "The GeoJSON file does not have features" @@ -548,12 +364,8 @@ msgid "There are no media files to download" msgstr "Il n’y a pas de fichiers multimédias à télécharger" #: formshare/processes/submission/api.py:410 -msgid "" -"This form was uploaded using an old version of ODK Tools. Please upload " -"it again." -msgstr "" -"Ce formulaire a été téléchargé à l’aide d’une ancienne version d’ODK " -"Tools. Merci de le télécharger à nouveau." +msgid "This form was uploaded using an old version of ODK Tools. Please upload it again." +msgstr "Ce formulaire a été téléchargé à l’aide d’une ancienne version d’ODK Tools. Merci de le télécharger à nouveau." #: formshare/processes/submission/api.py:461 msgid "Error while creating dummy file" @@ -594,15 +406,11 @@ msgstr "ERREUR de données AJAX. Signaler cette erreur comme un problème avec " #: formshare/processes/submission/api.py:1185 msgid "Cannot update value. Check the valid values in lookup table " -msgstr "" -"Impossible de mettre à jour la valeur. Vérifier les valeurs valides dans " -"le tableau de correspondance " +msgstr "Impossible de mettre à jour la valeur. Vérifier les valeurs valides dans le tableau de correspondance " #: formshare/processes/submission/api.py:1198 msgid "Cannot update value. Check the valid values in lookup table" -msgstr "" -"Impossible de mettre à jour la valeur. Vérifier les valeurs valides dans " -"le tableau de correspondance" +msgstr "Impossible de mettre à jour la valeur. Vérifier les valeurs valides dans le tableau de correspondance" #: formshare/products/products.py:111 msgid "Import FormShare 1.0 data" @@ -716,8 +524,7 @@ msgstr "Création de fichier KML" #: formshare/products/export/kml/celery_task.py:210 msgid "There was an error while dropping the temporary table" -msgstr "" -"Une erreur s'est produite lors de la suppression de la table temporaire" +msgstr "Une erreur s'est produite lors de la suppression de la table temporaire" #: formshare/products/export/kml/celery_task.py:215 msgid "The ODK form does not contain any submissions with GPS coordinates" @@ -744,41 +551,20 @@ msgid "There are no media files" msgstr "Il n’y a pas de fichiers multimédias" #: formshare/products/export/xlsx/celery_task.py:129 -msgid "" -"A worksheet name has been repeated. Excel only allow 30 characters in the" -" worksheet name. You can fix this by editing the dictionary and change " -"the description of the tables to a maximum of 30 characters." -msgstr "" -"Un nom de feuille de travail a été répété. Excel n’autorise que 30 " -"caractères dans le nom de la feuille de travail. Vous pouvez corriger " -"cela en modifiant le dictionnaire et la description des tableaux à un " -"maximum de 30 caractères." +msgid "A worksheet name has been repeated. Excel only allow 30 characters in the worksheet name. You can fix this by editing the dictionary and change the description of the tables to a maximum of 30 characters." +msgstr "Un nom de feuille de travail a été répété. Excel n’autorise que 30 caractères dans le nom de la feuille de travail. Vous pouvez corriger cela en modifiant le dictionnaire et la description des tableaux à un maximum de 30 caractères." #: formshare/products/export/xlsx/celery_task.py:138 -msgid "" -"Unknown error while creating the XLSX. Sorry about this. Please report " -"this error as an issue on https://github.com/qlands/FormShare" -msgstr "" -"Erreur inconnue lors de la création du XLSX. Désolé pour ça. Veuillez " -"signaler cette erreur comme un problème sur " -"https://github.com/qlands/FormShare" +msgid "Unknown error while creating the XLSX. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" +msgstr "Erreur inconnue lors de la création du XLSX. Désolé pour ça. Veuillez signaler cette erreur comme un problème sur https://github.com/qlands/FormShare" #: formshare/products/export/zip_csv/celery_task.py:141 -msgid "" -"Unknown error while creating the CSV Zip. Sorry about this. Please report" -" this error as an issue on https://github.com/qlands/FormShare" -msgstr "" -"Erreur inconnue lors de la création de CSV Zip. Désolé. Veuillez signaler" -" cette erreur comme un problème à https://github.com/qlands/FormShare" +msgid "Unknown error while creating the CSV Zip. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" +msgstr "Erreur inconnue lors de la création de CSV Zip. Désolé. Veuillez signaler cette erreur comme un problème à https://github.com/qlands/FormShare" #: formshare/products/export/zip_json/celery_task.py:141 -msgid "" -"Unknown error while creating the JSON Zip. Sorry about this. Please " -"report this error as an issue on https://github.com/qlands/FormShare" -msgstr "" -"Erreur inconnue lors de la création du Zip JSON. Désolé. Veuillez " -"signaler cette erreur comme un problème à " -"https://github.com/qlands/FormShare." +msgid "Unknown error while creating the JSON Zip. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" +msgstr "Erreur inconnue lors de la création du Zip JSON. Désolé. Veuillez signaler cette erreur comme un problème à https://github.com/qlands/FormShare." #: formshare/products/merge/celery_task.py:135 msgid "Creating backup of schema" @@ -790,8 +576,7 @@ msgstr "Application des modifications de structure au schéma..." #: formshare/products/merge/celery_task.py:170 msgid "Applying lookup value changes in the schema..." -msgstr "" -"Application des modifications aux valeurs de recherche dans le schéma..." +msgstr "Application des modifications aux valeurs de recherche dans le schéma..." #: formshare/products/merge/celery_task.py:202 msgid "Dropping old triggers" @@ -823,40 +608,36 @@ msgid "Inserting lookup values..." msgstr "Insérer des valeurs de recherche..." #: formshare/products/xmlimport/celery_task.py:83 -msgid "" -"-Error {} while pushing submission {} to URL {}. Error \n" +msgid "-Error {} while pushing submission {} to URL {}. Error \n" "\n" "{}\n" "\n" -msgstr "" -"-Erreur {} lors du téléchargement de l'envoi {} à l'adresse {}. Erreur \n" +"" +msgstr "-Erreur {} lors du téléchargement de l'envoi {} à l'adresse {}. Erreur \n" "\n" "{}\n" "\n" +"" #: formshare/products/xmlimport/celery_task.py:92 msgid "-Submission {} imported successfully" msgstr "-Soumission {} importée avec succès" #: formshare/products/xmlimport/celery_task.py:95 -msgid "" -"-Error while pushing submission {} to URL {}. Error \n" +msgid "-Error while pushing submission {} to URL {}. Error \n" "\n" "{}\n" "\n" -msgstr "" -"-Erreur lors du téléchargement de l'envoi {} à l'adresse {}. Erreur \n" +"" +msgstr "-Erreur lors du téléchargement de l'envoi {} à l'adresse {}. Erreur \n" "\n" "{}\n" "\n" +"" #: formshare/products/xmlimport/celery_task.py:101 -msgid "" -"-The directory {} does not have any submission files or it does not have " -"an xml data file" -msgstr "" -"-Le répertoire {} n'a aucune soumission ou n'a pas de fichier de données " -"XML" +msgid "-The directory {} does not have any submission files or it does not have an xml data file" +msgstr "-Le répertoire {} n'a aucune soumission ou n'a pas de fichier de données XML" #: formshare/products/xmlimport/celery_task.py:122 msgid "Writing report" @@ -866,8 +647,7 @@ msgstr "Rédaction du rapport" msgid "Report of the XML import" msgstr "Rapport d'importation XML" -#: formshare/templates/base.jinja2:15 -#: formshare/templates/dashboard/index.jinja2:16 +#: formshare/templates/base.jinja2:15 formshare/templates/dashboard/index.jinja2:16 #: formshare/templates/dashboard/profile/snippets/brdcrbs_profile.jinja2:5 #: formshare/templates/dashboard/profile/snippets/brdcrbs_profile_edit.jinja2:5 #: formshare/templates/dashboard/projects/assistant_groups/members/snippets/brdcrbs_memlist.jinja2:5 @@ -961,9 +741,9 @@ msgstr "Utilisez ce code QR pour configurer ODK collect" #: formshare/templates/dashboard/partners/partner_edit.jinja2:49 #: formshare/templates/dashboard/partners/snippets/partner_password_form.jinja2:23 #: formshare/templates/dashboard/profile/profile_edit.jinja2:142 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:105 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:131 -#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:38 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:114 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:140 +#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:39 #: formshare/templates/dashboard/users/snippets/user_password_form.jinja2:22 #: formshare/templates/dashboard/users/user_edit.jinja2:49 #: formshare/templates/partner/page.jinja2:137 @@ -972,7 +752,7 @@ msgid "Change password" msgstr "Changer le mot de passe" #: formshare/templates/assistant/page.jinja2:148 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:106 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:115 #: formshare/templates/partner/page.jinja2:138 msgid "Change the password of" msgstr "Modifier le mot de passe de" @@ -985,7 +765,7 @@ msgstr "Ancien mot de passe" #: formshare/templates/assistant/page.jinja2:161 #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:49 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:114 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:123 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:44 #: formshare/templates/dashboard/users/snippets/user_form.jinja2:23 #: formshare/templates/generic/assistant_login.jinja2:31 @@ -998,7 +778,7 @@ msgstr "Mot de passe" #: formshare/templates/assistant/page.jinja2:168 #: formshare/templates/dashboard/profile/profile_edit.jinja2:133 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:121 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:130 #: formshare/templates/partner/page.jinja2:157 msgid "Confirmation" msgstr "Confirmation" @@ -1008,8 +788,9 @@ msgstr "Confirmation" #: formshare/templates/assistant/page.jinja2:175 #: formshare/templates/assistant/page.jinja2:216 #: formshare/templates/assistant/page.jinja2:247 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:138 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:130 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:140 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:139 +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:23 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:103 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:136 #: formshare/templates/dashboard/projects/forms/dictionary/snippets/change_field_name.jinja2:23 @@ -1079,14 +860,8 @@ msgstr "Générer un nouveau mot de passe" #: formshare/templates/assistant/page.jinja2:210 #: formshare/templates/dashboard/profile/profile_edit.jinja2:99 -msgid "" -"You can generate the API secret at any time. However, it will be readable" -" only onetime after you generate it. Save it somewhere safe after you " -"generate it." -msgstr "" -"Vous pouvez générer le mot de passe de l'API à tout moment. Toutefois, il" -" ne sera visible qu'une seule fois après sa création. Conservez-la dans " -"un endroit sûr après l'avoir générée." +msgid "You can generate the API secret at any time. However, it will be readable only onetime after you generate it. Save it somewhere safe after you generate it." +msgstr "Vous pouvez générer le mot de passe de l'API à tout moment. Toutefois, il ne sera visible qu'une seule fois après sa création. Conservez-la dans un endroit sûr après l'avoir générée." #: formshare/templates/assistant/page.jinja2:229 #: formshare/templates/assistant/page.jinja2:248 @@ -1444,16 +1219,16 @@ msgid "Error" msgstr "Erreur" #: formshare/templates/assistant/jsonlogs/loglist.jinja2:94 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:63 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:74 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:65 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:83 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:70 msgid "Status" msgstr "Statut" #: formshare/templates/assistant/jsonlogs/loglist.jinja2:99 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:68 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:62 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:79 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:70 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:64 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:88 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:80 msgid "Actions" msgstr "Actions" @@ -1552,13 +1327,8 @@ msgid "The value is already in use by submission" msgstr "La valeur est déjà utilisée suite à une demande" #: formshare/templates/assistant/jsonlogs/snippets/error_item.jinja2:27 -msgid "" -"The duplicated submission cannot be found. It may have been moved to the " -"logs or deleted. You can push this submission into the database." -msgstr "" -"La demande en double est introuvable. Elle peut avoir été déplacée dans " -"les journaux ou supprimée. Vous pouvez placer cette demande dans la base " -"de données." +msgid "The duplicated submission cannot be found. It may have been moved to the logs or deleted. You can push this submission into the database." +msgstr "La demande en double est introuvable. Elle peut avoir été déplacée dans les journaux ou supprimée. Vous pouvez placer cette demande dans la base de données." #: formshare/templates/assistant/jsonlogs/snippets/error_item.jinja2:50 #: formshare/templates/assistant/jsonlogs/snippets/error_item.jinja2:76 @@ -1709,8 +1479,7 @@ msgstr "Annuler la vérification" #: formshare/templates/assistant/jsonlogs/snippets/error_item.jinja2:122 msgid "Are you sure that you want to cancel the check-out of this submission?" -msgstr "" -"Etes-vous sûr que vous voulez annuler la vérification de cette demande?" +msgstr "Etes-vous sûr que vous voulez annuler la vérification de cette demande?" #: formshare/templates/assistant/jsonlogs/snippets/error_item.jinja2:128 msgid "Push revision into the repository" @@ -1927,9 +1696,9 @@ msgstr "Oui, allez-y" #: formshare/templates/dashboard/index.jinja2:249 #: formshare/templates/dashboard/partners/partner_list.jinja2:113 #: formshare/templates/dashboard/profile/profile.jinja2:77 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:98 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:250 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:150 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:100 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:254 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:186 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:120 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:541 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:583 @@ -1988,17 +1757,13 @@ msgstr "pour en savoir plus" #: formshare/templates/dashboard/index.jinja2:193 #: formshare/templates/dashboard/projects/project_details.jinja2:95 -msgid "" -"Follow-up forms attach information to a case at different points in time." -msgstr "" -"Les formulaires de suivi joignent des informations à un dossier à " -"différents moments" +msgid "Follow-up forms attach information to a case at different points in time." +msgstr "Les formulaires de suivi joignent des informations à un dossier à différents moments" #: formshare/templates/dashboard/index.jinja2:200 #: formshare/templates/dashboard/projects/project_details.jinja2:102 msgid "Deactivate forms change the status of a case to inactive." -msgstr "" -"Les formulaires de désactivation modifient le statut d'un cas en inactif." +msgstr "Les formulaires de désactivation modifient le statut d'un cas en inactif." #: formshare/templates/dashboard/index.jinja2:200 #: formshare/templates/dashboard/projects/project_details.jinja2:102 @@ -2018,14 +1783,8 @@ msgstr "Par exemple, un ménage qui décide de participer à nouveau à une étu #: formshare/templates/dashboard/index.jinja2:244 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:544 #: formshare/templates/dashboard/projects/project_details.jinja2:317 -msgid "" -"Warning, you are going to delete a form that is a subversion of another " -"form. This means that you will REMOVE ALL the data, including previous " -"versions of the data as well!!!" -msgstr "" -"Attention, vous allez supprimer un formulaire qui est une subversion d'un" -" autre formulaire. Cela signifie que vous allez ENLEVER TOUTES les " -"données, y compris les versions précédentes des données également !" +msgid "Warning, you are going to delete a form that is a subversion of another form. This means that you will REMOVE ALL the data, including previous versions of the data as well!!!" +msgstr "Attention, vous allez supprimer un formulaire qui est une subversion d'un autre formulaire. Cela signifie que vous allez ENLEVER TOUTES les données, y compris les versions précédentes des données également !" #: formshare/templates/dashboard/index.jinja2:245 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:545 @@ -2047,9 +1806,9 @@ msgstr "Oui, supprimez ce formulaire!" #: formshare/templates/dashboard/index.jinja2:258 #: formshare/templates/dashboard/index.jinja2:292 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:103 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:255 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:155 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:105 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:259 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:191 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:125 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:335 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:368 @@ -2076,9 +1835,7 @@ msgstr "Erreurs dans votre dernière action" #: formshare/templates/dashboard/page.jinja2:111 msgid "The following errors happened while processing your last action" -msgstr "" -"Les erreurs suivantes ont été signalées lors du traitement de votre " -"dernière action" +msgstr "Les erreurs suivantes ont été signalées lors du traitement de votre dernière action" #: formshare/templates/dashboard/page.jinja2:117 msgid "Dismiss" @@ -2163,25 +1920,12 @@ msgid "FormShare partners" msgstr "Partenaires sur FormShare" #: formshare/templates/dashboard/partners/partner_list.jinja2:37 -msgid "" -"Partners are trusted individuals outside your organization that require " -"access to products and other resources in FormShare to collaborate with " -"you. For example, a professor at a university (a partner in your project)" -" requiring a KML export to match GPS points with weather data." -msgstr "" -"Les partenaires sont des personnes de confiance en dehors de votre " -"organisation qui ont besoinaccès aux produits et autres ressources sur " -"FormShare pour collaborertu. Par exemple, un professeur dans une " -"université (partenaire de votre projet) qui nécessite une exportation KML" -" pour faire correspondre les points GPS aux données météorologiques." +msgid "Partners are trusted individuals outside your organization that require access to products and other resources in FormShare to collaborate with you. For example, a professor at a university (a partner in your project) requiring a KML export to match GPS points with weather data." +msgstr "Les partenaires sont des personnes de confiance en dehors de votre organisation qui ont besoinaccès aux produits et autres ressources sur FormShare pour collaborertu. Par exemple, un professeur dans une université (partenaire de votre projet) qui nécessite une exportation KML pour faire correspondre les points GPS aux données météorologiques." #: formshare/templates/dashboard/partners/partner_list.jinja2:38 -msgid "" -"After adding a partner you can link it either to a project or to " -"individual forms within a project." -msgstr "" -"Après avoir ajouté un partenaire, vous pouvez le lier à un projet ou " -"àformes individuelles au sein d'un projet." +msgid "After adding a partner you can link it either to a project or to individual forms within a project." +msgstr "Après avoir ajouté un partenaire, vous pouvez le lier à un projet ou àformes individuelles au sein d'un projet." #: formshare/templates/dashboard/partners/partner_list.jinja2:54 msgid "Search for a partner" @@ -2189,9 +1933,7 @@ msgstr "Trouver un partenaire" #: formshare/templates/dashboard/partners/partner_list.jinja2:55 msgid "You can search by full name, email address or organization" -msgstr "" -"Vous pouvez effectuer une recherche par nom complet, e-mail ou " -"organisation" +msgstr "Vous pouvez effectuer une recherche par nom complet, e-mail ou organisation" #: formshare/templates/dashboard/partners/partner_list.jinja2:64 msgid "View activity" @@ -2236,7 +1978,7 @@ msgstr "Liste des partenaires" #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:9 #: formshare/templates/dashboard/profile/snippets/social_tab.jinja2:24 #: formshare/templates/dashboard/profile/snippets/social_tab.jinja2:26 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:64 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:73 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:16 #: formshare/templates/dashboard/users/snippets/user_form.jinja2:16 #: formshare/templates/generic/register.jinja2:19 @@ -2256,15 +1998,11 @@ msgstr "Organisation" #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:36 #: formshare/templates/dashboard/partners/snippets/partner_form_edit.jinja2:16 -msgid "" -"This should be the time zone where the partner performs activities. As a " -"reference, FormShare's time zone is " -msgstr "" -"Il doit s'agir du fuseau horaire dans lequel le partenaire exerce ses " -"activités. Pour référence, le fuseau horaire de FormShare est " +msgid "This should be the time zone where the partner performs activities. As a reference, FormShare's time zone is " +msgstr "Il doit s'agir du fuseau horaire dans lequel le partenaire exerce ses activités. Pour référence, le fuseau horaire de FormShare est " #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:42 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:69 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:78 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:37 #: formshare/templates/landing/snippets/contact.jinja2:19 msgid "Telephone" @@ -2320,8 +2058,8 @@ msgid "Edit Profile" msgstr "Modifier le profil" #: formshare/templates/dashboard/profile/profile_edit.jinja2:36 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:52 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:59 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:54 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:68 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:60 #: formshare/templates/dashboard/projects/forms/snippets/edit_form.jinja2:5 #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:10 @@ -2333,26 +2071,17 @@ msgid "Bio data" msgstr "Données bio" #: formshare/templates/dashboard/profile/profile_edit.jinja2:54 -msgid "" -"This should be your current time zone. As a reference, FormShare's time " -"zone is " -msgstr "" -"Cela devrait être votre fuseau horaire actuel. Pour référence, le fuseau " -"horaire de FormShare est " +msgid "This should be your current time zone. As a reference, FormShare's time zone is " +msgstr "Cela devrait être votre fuseau horaire actuel. Pour référence, le fuseau horaire de FormShare est " #: formshare/templates/dashboard/profile/profile_edit.jinja2:65 msgid "Save changes" msgstr "Sauvegarder les changements" #: formshare/templates/dashboard/profile/profile_edit.jinja2:87 -msgid "" -"Never share your API key. If you change your API key, you need to change " -"your API secret." -msgstr "" -"Ne partagez jamais votre clé API. Si vous changez votre clé API, vous " -"devez changer le mot de passe API." +msgid "Never share your API key. If you change your API key, you need to change your API secret." +msgstr "Ne partagez jamais votre clé API. Si vous changez votre clé API, vous devez changer le mot de passe API." -# | msgid "Case creator" #: formshare/templates/dashboard/profile/profile_edit.jinja2:91 msgid "API secret" msgstr "Mot de passe API" @@ -2369,8 +2098,8 @@ msgstr "À propos" #: formshare/templates/dashboard/profile/snippets/about_tab.jinja2:30 #: formshare/templates/dashboard/profile/snippets/brdcrbs_profile_edit.jinja2:11 #: formshare/templates/dashboard/profile/snippets/profile_head.jinja2:23 -#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:26 -#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:39 +#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:27 +#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:40 #: formshare/templates/dashboard/projects/snippets/brdcrbs_prjedit.jinja2:14 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:14 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:49 @@ -2396,7 +2125,7 @@ msgid "Collaborations" msgstr "Collaborations" #: formshare/templates/dashboard/profile/snippets/profile_head.jinja2:33 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:57 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:59 msgid "Joined" msgstr "Inscrit" @@ -2485,7 +2214,7 @@ msgstr "Ajouter un nouveau projet" msgid "Information for the new project" msgstr "Informations pour le nouveau projet" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:110 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:112 #: formshare/templates/dashboard/projects/project_details.jinja2:18 msgid "Project" msgstr "Projet" @@ -2500,9 +2229,9 @@ msgstr "Modification des options partenaires" msgid "Are you sure that you want to remove " msgstr "Vous êtes sûr de vouloir supprimer" -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:102 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:254 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:154 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:104 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:258 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:190 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:124 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:587 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:643 @@ -2563,21 +2292,17 @@ msgid "Assistant groups" msgstr "Groupes d’assistants" #: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:34 -msgid "" -"Groups allow you to aggregate assistants with something in common. For " -"example, \"Data collectors\"" -msgstr "" -"Les groupes vous permettent d'ajouter des assistants qui ont quelque " -"chose en commun. Par exemple, les « collecteurs de données »" +msgid "Groups allow you to aggregate assistants with something in common. For example, \"Data collectors\"" +msgstr "Les groupes vous permettent d'ajouter des assistants qui ont quelque chose en commun. Par exemple, les « collecteurs de données »" -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:45 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:46 #: formshare/templates/dashboard/projects/assistant_groups/snippets/brdcrbs_groupedit.jinja2:2 #: formshare/templates/dashboard/projects/assistant_groups/snippets/group_form.jinja2:17 #: formshare/templates/dashboard/projects/forms/snippets/add_group.jinja2:40 msgid "Add group" msgstr "Ajouter groupe" -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:58 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:60 #: formshare/templates/dashboard/projects/assistant_groups/snippets/group_form.jinja2:5 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:65 msgid "Description" @@ -2588,36 +2313,33 @@ msgstr "Description" msgid "Members in" msgstr "Membres dans" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:41 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:42 msgid "Add member" msgstr "Ajouter un membre" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:84 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:139 -#| msgid "Add assistant" +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:86 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:141 +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:3 msgid "Add assistants" msgstr "Ajouter des assistants" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:90 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:92 msgid "Check all" msgstr "Marquer tout" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:93 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:95 msgid "Uncheck all" msgstr "Décocher tout" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:100 -#| msgid "Delete project" +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:102 msgid "Filter by project" msgstr "Filtrer par projet" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:104 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:106 msgid "Note: Assistants excluded by a filter will be automatically unchecked" -msgstr "" -"Remarque : Les participants exclus par un filtre seront automatiquement" -" décochés" +msgstr "Remarque : Les participants exclus par un filtre seront automatiquement décochés" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:111 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:113 #: formshare/templates/dashboard/projects/forms/import_data/import_form.jinja2:54 #: formshare/templates/dashboard/projects/forms/snippets/add_assistant.jinja2:13 #: formshare/templates/dashboard/projects/forms/submissions/snippets/move_to_logs.jinja2:15 @@ -2635,13 +2357,12 @@ msgstr "Membres du groupe" msgid "Groups" msgstr "Groupes" -#: formshare/templates/dashboard/projects/assistant_groups/members/snippets/member_item.jinja2:19 +#: formshare/templates/dashboard/projects/assistant_groups/members/snippets/member_item.jinja2:20 #: formshare/templates/dashboard/projects/collaborators/snippets/collaborator_item.jinja2:38 msgid "Remove" msgstr "Supprimer" #: formshare/templates/dashboard/projects/assistant_groups/snippets/brdcrbs_groupadd.jinja2:2 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:45 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:67 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistadd.jinja2:2 #: formshare/templates/dashboard/projects/forms/snippets/add_assistant.jinja2:44 @@ -2681,8 +2402,8 @@ msgstr "Inactif" msgid "Members" msgstr "Membres" -#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:27 -#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:40 +#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:28 +#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:41 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:109 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:114 #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:84 @@ -2705,7 +2426,7 @@ msgid "Edit assistant" msgstr "Changer l'assistant" #: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:4 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:32 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:38 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistadd.jinja2:14 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistedit.jinja2:14 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistlist.jinja2:14 @@ -2715,14 +2436,30 @@ msgstr "Changer l'assistant" msgid "Assistants" msgstr "Assistants" -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:34 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:40 msgid "Assistants help you collect and clean data." msgstr "Les assistants vous aident à collecter et à nettoyer les données." -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:182 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:218 msgid "Changing password for" msgstr "Changement de mot de passe pour" +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:6 +msgid "Add one" +msgstr "Ajouter un" + +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:9 +msgid "Add many from CSV file" +msgstr "Ajouter plusieurs personnes à partir d'un fichier CSV" + +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:11 +msgid "Download template file" +msgstr "Télécharger le modèle" + +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:12 +msgid "Upload CSV file" +msgstr "Téléchargez le fichier CSV" + #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:5 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form_edit.jinja2:4 #: formshare/templates/generic/assistant_login.jinja2:28 @@ -2730,35 +2467,21 @@ msgid "Assistant ID" msgstr "ID de l'assistant" #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:6 -msgid "" -"This is a simple name to identify the assistant in FormShare. It is the " -"name that the assistant will use in ODK Collect. The assistant id must be" -" unique and cannot be changed afterward." -msgstr "" -"Il s'agit d'un nom simple pour identifier le participant sur FormShare. " -"Il s'agit du nom que l'assistant utilisera dans ODK Collect. L'ID du " -"participant doit être unique et ne peut pas être modifié ultérieurement." +msgid "This is a simple name to identify the assistant in FormShare. It is the name that the assistant will use in ODK Collect. The assistant id must be unique and cannot be changed afterward." +msgstr "Il s'agit d'un nom simple pour identifier le participant sur FormShare. Il s'agit du nom que l'assistant utilisera dans ODK Collect. L'ID du participant doit être unique et ne peut pas être modifié ultérieurement." #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:31 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form_edit.jinja2:18 -msgid "" -"This should be the time zone where the assistant performs activities. As " -"a reference, FormShare's time zone is " -msgstr "" -"Il doit s'agir du fuseau horaire dans lequel le participant effectue des " -"activités. Pour référence, le fuseau horaire de FormShare est " +msgid "This should be the time zone where the assistant performs activities. As a reference, FormShare's time zone is " +msgstr "Il doit s'agir du fuseau horaire dans lequel le participant effectue des activités. Pour référence, le fuseau horaire de FormShare est " #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:57 msgid "Share among projects" msgstr "Partager entre les projets" #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:58 -msgid "" -"This means that this person can assist different projects within your " -"account." -msgstr "" -"Cela signifie que cette personne peut aider différents projets au sein de" -" votre compte." +msgid "This means that this person can assist different projects within your account." +msgstr "Cela signifie que cette personne peut aider différents projets au sein de votre compte." #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form_edit.jinja2:48 msgid "Modify assistant" @@ -2772,6 +2495,25 @@ msgstr "Partagé" msgid "Assistant list" msgstr "Liste des assistants" +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:7 +#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:7 +#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:7 +msgid "Upload file" +msgstr "Télécharger le fichier" + +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:17 +#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:17 +#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:17 +msgid "Choose files" +msgstr "Choisir des fichiers" + +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:24 +#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:30 +#: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:117 +#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:30 +msgid "Upload" +msgstr "Télécharger" + #: formshare/templates/dashboard/projects/collaborators/accept_collaboration.jinja2:5 #: formshare/templates/dashboard/projects/collaborators/accept_collaboration.jinja2:39 #: formshare/templates/dashboard/projects/collaborators/snippets/brdcrbs_accept_collaboration.jinja2:8 @@ -2878,20 +2620,12 @@ msgid "Changes made to the survey" msgstr "Modifications apportées au formulaire" #: formshare/templates/dashboard/projects/forms/compare_forms.jinja2:31 -msgid "" -"This shows only structural changes. It does not show any changes in " -"logic, descriptions, order, or choices." -msgstr "" -"Cela ne montre que des changements structurels. Il ne montre aucun " -"changement dans la logique, les descriptions, la commande ou les options." +msgid "This shows only structural changes. It does not show any changes in logic, descriptions, order, or choices." +msgstr "Cela ne montre que des changements structurels. Il ne montre aucun changement dans la logique, les descriptions, la commande ou les options." #: formshare/templates/dashboard/projects/forms/compare_forms.jinja2:54 -msgid "" -"This new version does not have any structural changes from its former " -"version." -msgstr "" -"Cette nouvelle version ne présente aucune modification structurelle par " -"rapport à la version précédente. version." +msgid "This new version does not have any structural changes from its former version." +msgstr "Cette nouvelle version ne présente aucune modification structurelle par rapport à la version précédente. version." #: formshare/templates/dashboard/projects/forms/form_details.jinja2:119 #: formshare/templates/partner/form_details.jinja2:4 @@ -2935,11 +2669,8 @@ msgid "You do not have a single field marked as sensitive!" msgstr "Vous n’avez pas un seul champ marqué comme sensible!" #: formshare/templates/dashboard/projects/forms/form_details.jinja2:399 -msgid "" -"IF YOU CONTINUE YOU MIGHT BE AT RISK OF MAKING SENSITIVE DATA PUBLICLY " -"AVAILABLE!" -msgstr "" -"SI VOUS CONTINUEZ, VOUS RISQUEZ DE RENDRE PUBLIQUES DES DONNÉES SENSIBLES!" +msgid "IF YOU CONTINUE YOU MIGHT BE AT RISK OF MAKING SENSITIVE DATA PUBLICLY AVAILABLE!" +msgstr "SI VOUS CONTINUEZ, VOUS RISQUEZ DE RENDRE PUBLIQUES DES DONNÉES SENSIBLES!" #: formshare/templates/dashboard/projects/forms/form_details.jinja2:405 msgid "Yes, publish it" @@ -2969,39 +2700,19 @@ msgstr "Le fichier CSV des cas en temps réel" #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:31 msgid "The real-time CSV case file has been created. You can adjust it below." -msgstr "" -"Un fichier CSV des cas en temps réel a été créé. Vous pouvez l'ajuster " -"ci-dessous." +msgstr "Un fichier CSV des cas en temps réel a été créé. Vous pouvez l'ajuster ci-dessous." #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:42 -msgid "" -"The real-time CSV case file provides information on each case to follow-" -"up case forms. For example, use the sex of a participant (e.g., female) " -"in follow-up case forms to ask specific questions according to sex (e.g.," -" if female, do they have access to reproductive health services?)" -msgstr "" -"Le fichier CSV de cas en temps réel fournit des informations sur chaque " -"cas à utiliser dans les formulaires de suivi. Par exemple, le sexe d'un " -"participant (par exemple, une femme) pourrait être utilisé dans les " -"formulaires de suivi pour poser des questions spécifiques au genre (par " -"exemple, s'il s'agit d'une femme, ont-ils accès à des services de santé " -"reproductive ?)" +msgid "The real-time CSV case file provides information on each case to follow-up case forms. For example, use the sex of a participant (e.g., female) in follow-up case forms to ask specific questions according to sex (e.g., if female, do they have access to reproductive health services?)" +msgstr "Le fichier CSV de cas en temps réel fournit des informations sur chaque cas à utiliser dans les formulaires de suivi. Par exemple, le sexe d'un participant (par exemple, une femme) pourrait être utilisé dans les formulaires de suivi pour poser des questions spécifiques au genre (par exemple, s'il s'agit d'une femme, ont-ils accès à des services de santé reproductive ?)" #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:43 -msgid "" -"Each time a new case arrives in FormShare, the platform will update this " -"CSV file. You can adjust below what information goes into the CSV file." -msgstr "" -"Chaque fois qu'un nouveau cas arrive sur FormShare, la plateforme mettra " -"à jour cefichier CSV. Vous pouvez ajuster les informations incluses dans " -"le fichier CSV ci-dessous." +msgid "Each time a new case arrives in FormShare, the platform will update this CSV file. You can adjust below what information goes into the CSV file." +msgstr "Chaque fois qu'un nouveau cas arrive sur FormShare, la plateforme mettra à jour cefichier CSV. Vous pouvez ajuster les informations incluses dans le fichier CSV ci-dessous." #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:43 -msgid "" -"to download an example of this file so you can use it in follow-up forms." -msgstr "" -"pour télécharger un exemple de ce fichier afin que vous puissiez " -"l'utiliser dans vos formulaires de suivi." +msgid "to download an example of this file so you can use it in follow-up forms." +msgstr "pour télécharger un exemple de ce fichier afin que vous puissiez l'utiliser dans vos formulaires de suivi." #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:43 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:17 @@ -3108,18 +2819,12 @@ msgid "Data tables: Tables that contain the submitted data." msgstr "Tableaux de données : Tableaux qui contiennent les données soumises." #: formshare/templates/dashboard/projects/forms/dictionary/edit_tables.jinja2:56 -msgid "" -"Multi-select tables: Each multi-select variable has its own table. Here " -"each option is stored in a separate row." -msgstr "" -"Tableaux multi-sélections : Chaque variable multi-sélection a son propre " -"tableau. Ici, chaque option est stockée dans une rangée séparée." +msgid "Multi-select tables: Each multi-select variable has its own table. Here each option is stored in a separate row." +msgstr "Tableaux multi-sélections : Chaque variable multi-sélection a son propre tableau. Ici, chaque option est stockée dans une rangée séparée." #: formshare/templates/dashboard/projects/forms/dictionary/edit_tables.jinja2:68 msgid "Lookup tables: Contain the description of categorical variables." -msgstr "" -"Tableaux de recherche : Contient la description des variables " -"catégorielles." +msgstr "Tableaux de recherche : Contient la description des variables catégorielles." #: formshare/templates/dashboard/projects/forms/dictionary/edit_tables.jinja2:79 msgid "Filter by table type" @@ -3305,9 +3010,7 @@ msgstr "Créer KML" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:32 msgid "Other data to include besides the geolocation and the primary key" -msgstr "" -"Autres variables à inclure en plus de la géolocalisation et de la clé " -"primaire" +msgstr "Autres variables à inclure en plus de la géolocalisation et de la clé primaire" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_xlsx.jinja2:2 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:4 @@ -3329,23 +3032,14 @@ msgstr "Exportation de tableaux à sélection multiple" #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:41 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 -msgid "" -"When checked, FormShare will create a CSV file for each multiselect " -"table. But will not resolve multiselect fields. Click" -msgstr "" -"Lorsque cette option est cochée, FormShare créera un fichier CSV pour " -"chaque table multi-sélection. Mais il ne résout pas les champs " -"multisélection. Cliquez sur" +msgid "When checked, FormShare will create a CSV file for each multiselect table. But will not resolve multiselect fields. Click" +msgstr "Lorsque cette option est cochée, FormShare créera un fichier CSV pour chaque table multi-sélection. Mais il ne résout pas les champs multisélection. Cliquez sur" #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:41 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 #: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 -msgid "" -"for more information about how FormShare stores \"select_multiple\" " -"variables." -msgstr "" -"pour plus d'informations sur la façon dont FormShare stocke les variables" -" \"select_multiple\"." +msgid "for more information about how FormShare stores \"select_multiple\" variables." +msgstr "pour plus d'informations sur la façon dont FormShare stocke les variables \"select_multiple\"." #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:47 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:47 @@ -3361,22 +3055,14 @@ msgstr "Exportation des tables de consultation" #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:50 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 -msgid "" -"When checked, FormShare will create a CSV file for each lookup table, but" -" it will not resolve option labels. Click" -msgstr "" -"Si cette option est sélectionnée, FormShare créera un fichier CSV pour " -"chaque table de consultation, mais ne résoudra pas les étiquettes des " -"options. Cliquez sur" +msgid "When checked, FormShare will create a CSV file for each lookup table, but it will not resolve option labels. Click" +msgstr "Si cette option est sélectionnée, FormShare créera un fichier CSV pour chaque table de consultation, mais ne résoudra pas les étiquettes des options. Cliquez sur" #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:50 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 #: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 -msgid "" -"for more information about how FormShare stores \"select_one\" variables." -msgstr "" -"pour plus d'informations sur la façon dont FormShare stocke les variables" -" \"select_one\"." +msgid "for more information about how FormShare stores \"select_one\" variables." +msgstr "pour plus d'informations sur la façon dont FormShare stocke les variables \"select_one\"." #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_csv.jinja2:2 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:4 @@ -3391,22 +3077,12 @@ msgid "Export to Zip JSON" msgstr "Exportation vers Zip JSON" #: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 -msgid "" -"When checked, FormShare will create a JSON file for each multiselect " -"table, but it will not resolve multiselect fields. Click" -msgstr "" -"Si cette option est cochée, FormShare créera un fichier JSON pour chaque " -"table multi-sélection, mais ne résoudra pas les champs multi-sélection. " -"Cliquez sur" +msgid "When checked, FormShare will create a JSON file for each multiselect table, but it will not resolve multiselect fields. Click" +msgstr "Si cette option est cochée, FormShare créera un fichier JSON pour chaque table multi-sélection, mais ne résoudra pas les champs multi-sélection. Cliquez sur" #: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 -msgid "" -"When checked, FormShare will create a JSON file for each lookup table, " -"but it will not resolve option labels. Click" -msgstr "" -"Si cette option est cochée, FormShare créera un fichier JSON pour chaque " -"table de consultation, mais ne résoudra pas les étiquettes des options. " -"Cliquez sur" +msgid "When checked, FormShare will create a JSON file for each lookup table, but it will not resolve option labels. Click" +msgstr "Si cette option est cochée, FormShare créera un fichier JSON pour chaque table de consultation, mais ne résoudra pas les étiquettes des options. Cliquez sur" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_csv.jinja2:17 msgid "CSV Options" @@ -3456,9 +3132,7 @@ msgstr "pour vous aider à créer le fichier zip." #: formshare/templates/dashboard/projects/forms/import_data/import_form.jinja2:62 msgid "Select an assistant who could help you fixing any issues with your data" -msgstr "" -"Sélectionnez un assistant qui pourrait vous aider à résoudre tous les " -"problèmes avec vos données" +msgstr "Sélectionnez un assistant qui pourrait vous aider à résoudre tous les problèmes avec vos données" #: formshare/templates/dashboard/projects/forms/import_data/import_form.jinja2:67 msgid "Data file" @@ -3491,44 +3165,20 @@ msgid "Here are some notes for importing data into FormShare" msgstr "Voici quelques notes pour importer des données dans FormShare" #: formshare/templates/dashboard/projects/forms/import_data/snippets/import_guide.jinja2:21 -msgid "" -"FormShare can import submissions from FormShare 1.0 as individual JSON " -"files or several in a zip file. The following image shows how to zip the " -"files." -msgstr "" -"FormShare peut importer des soumissions FormShare 1.0 dans des fichiers " -"JSON individuels ou multiples dans un fichier zip. L'image suivante " -"montre comment créer le fichier zip." +msgid "FormShare can import submissions from FormShare 1.0 as individual JSON files or several in a zip file. The following image shows how to zip the files." +msgstr "FormShare peut importer des soumissions FormShare 1.0 dans des fichiers JSON individuels ou multiples dans un fichier zip. L'image suivante montre comment créer le fichier zip." #: formshare/templates/dashboard/projects/forms/import_data/snippets/import_guide.jinja2:24 -msgid "" -"Store the submission files in a zip file. The files cannot be inside " -"directories. You can decide how to name each submission file and the zip " -"file." -msgstr "" -"Enregistrez les fichiers de données dans un fichier zip. Les fichiers " -"données ne peuvent pas se trouver dans des répertoires. Vous pouvez " -"décider comment nommer chaque fichier de données et le fichier zip." +msgid "Store the submission files in a zip file. The files cannot be inside directories. You can decide how to name each submission file and the zip file." +msgstr "Enregistrez les fichiers de données dans un fichier zip. Les fichiers données ne peuvent pas se trouver dans des répertoires. Vous pouvez décider comment nommer chaque fichier de données et le fichier zip." #: formshare/templates/dashboard/projects/forms/import_data/snippets/import_guide.jinja2:29 -msgid "" -"FormShare can import ODK Collect XML files. However, the files must be " -"inside a zip. The following image shows how to zip the files." -msgstr "" -"FormShare peut importer des fichiers XML depuis ODK Collect. Cependant, " -"les fichiers doivent être dans un fichier zip. L'image suivante montre " -"comment créer le fichier zip." +msgid "FormShare can import ODK Collect XML files. However, the files must be inside a zip. The following image shows how to zip the files." +msgstr "FormShare peut importer des fichiers XML depuis ODK Collect. Cependant, les fichiers doivent être dans un fichier zip. L'image suivante montre comment créer le fichier zip." #: formshare/templates/dashboard/projects/forms/import_data/snippets/import_guide.jinja2:32 -msgid "" -"Store the submissions in separate directories. Each directory must " -"contain the XML data file and any media files (if present). You can " -"decide how to name each directory, submission file, and zip file." -msgstr "" -"Stockez les soumissions dans des répertoires séparés. Chaque répertoire " -"doit contenir le fichier de données XML et tous les fichiers multimédias " -"(le cas échéant). Vous pouvez décider comment nommer chaque répertoire, " -"fichier de données et fichier zip." +msgid "Store the submissions in separate directories. Each directory must contain the XML data file and any media files (if present). You can decide how to name each directory, submission file, and zip file." +msgstr "Stockez les soumissions dans des répertoires séparés. Chaque répertoire doit contenir le fichier de données XML et tous les fichiers multimédias (le cas échéant). Vous pouvez décider comment nommer chaque répertoire, fichier de données et fichier zip." #: formshare/templates/dashboard/projects/forms/map/marker_info.jinja2:16 #: formshare/templates/partner/map/marker_info.jinja2:16 @@ -3548,9 +3198,7 @@ msgstr "Multimédia en la demande" #: formshare/templates/dashboard/projects/forms/map/marker_info.jinja2:34 #: formshare/templates/partner/map/marker_info.jinja2:34 msgid "The submission date (Submitted date) is stored in FormShare's time zone" -msgstr "" -"La date de soumission (Submitted date) est stockée dans le fuseau horaire" -" de FormShare" +msgstr "La date de soumission (Submitted date) est stockée dans le fuseau horaire de FormShare" #: formshare/templates/dashboard/projects/forms/map/marker_info.jinja2:35 #: formshare/templates/partner/map/marker_info.jinja2:35 @@ -3628,9 +3276,7 @@ msgstr "Nettoyage de l’API" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:7 msgid "Here are some examples on how to clean data using scripts" -msgstr "" -"Voici quelques exemples sur la façon de nettoyer les données à l’aide de " -"scripts" +msgstr "Voici quelques exemples sur la façon de nettoyer les données à l’aide de scripts" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:23 msgid "Download and install" @@ -3648,24 +3294,16 @@ msgstr "Téléchargez un fichier CSV privé à l’aide d’une clé d’accès" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:29 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:95 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:169 -msgid "" -"Each private CSV product generated in FormShare has an API download link." -" Copy the link and place it below" -msgstr "" -"Chaque produit CSV privé généré dans FormShare a un lien de " -"téléchargement API. Copiez ce lien et placez-le ci-dessous" +msgid "Each private CSV product generated in FormShare has an API download link. Copy the link and place it below" +msgstr "Chaque produit CSV privé généré dans FormShare a un lien de téléchargement API. Copiez ce lien et placez-le ci-dessous" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:35 msgid "Where do you want to save the CSV file downloaded from FormShare?" -msgstr "" -"Où voulez-vous enregistrer le fichier CSV téléchargé à partir de " -"FormShare ?" +msgstr "Où voulez-vous enregistrer le fichier CSV téléchargé à partir de FormShare ?" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:42 msgid "Define a dataset with the information that you want to update" -msgstr "" -"Définissez un jeu de données avec les informations que vous souhaitez " -"mettre à jour" +msgstr "Définissez un jeu de données avec les informations que vous souhaitez mettre à jour" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:43 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:173 @@ -3676,8 +3314,7 @@ msgstr "L’ensemble de données doit avoir la structure suivante :" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:108 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:174 msgid "Each data row in FormShare has an unique row id (rowuuid)" -msgstr "" -"Chaque ligne de données de FormShare a une id de ligne unique (rowuuid)" +msgstr "Chaque ligne de données de FormShare a une id de ligne unique (rowuuid)" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:45 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:109 @@ -3688,28 +3325,18 @@ msgstr "La variable que vous voulez changer" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:46 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:110 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:176 -msgid "" -"This is the new value that you want to apply to the variable for the " -"selected unique row id (rowuuid)" -msgstr "" -"Il s’agit de la nouvelle valeur que vous souhaitez appliquer à la " -"variable pour l’id de ligne unique sélectionné (rowuuid)" +msgid "This is the new value that you want to apply to the variable for the selected unique row id (rowuuid)" +msgstr "Il s’agit de la nouvelle valeur que vous souhaitez appliquer à la variable pour l’id de ligne unique sélectionné (rowuuid)" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:47 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:112 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:180 -msgid "" -"In this example we will replace the variable income to read 1300 for the " -"unique row id (rowuuid)" -msgstr "" -"Dans cet exemple, nous remplacerons la variable revenu pour lire 1300 " -"pour l’id de ligne unique (rowuuid)" +msgid "In this example we will replace the variable income to read 1300 for the unique row id (rowuuid)" +msgstr "Dans cet exemple, nous remplacerons la variable revenu pour lire 1300 pour l’id de ligne unique (rowuuid)" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:52 msgid "Read the list of changes and push the updates to FormShare" -msgstr "" -"Lisez la liste des modifications et poussez les mises à jour vers " -"FormShare" +msgstr "Lisez la liste des modifications et poussez les mises à jour vers FormShare" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:58 msgid "Setup the FormShare update URL" @@ -3756,9 +3383,7 @@ msgstr "Poussez le changement à FormShare" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:91 msgid "Python program: Download a private csv file using an access key" -msgstr "" -"Programme Python : Téléchargez un fichier csv privé à l’aide d’une clé " -"d’accès" +msgstr "Programme Python : Téléchargez un fichier csv privé à l’aide d’une clé d’accès" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:98 msgid "Where do you want to save the CSV file?" @@ -3766,20 +3391,15 @@ msgstr "Où voulez-vous enregistrer le fichier CSV ?" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:106 msgid "Define a list with the information that you want to update" -msgstr "" -"Définissez une liste avec les informations que vous souhaitez mettre à " -"jour" +msgstr "Définissez une liste avec les informations que vous souhaitez mettre à jour" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:107 msgid "The list needs to have the following structure" msgstr "La liste doit avoir la structure suivante" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:120 -msgid "" -"Python program: Read the list of changes and push the update to FormShare" -msgstr "" -"Programme Python: Lire la liste des changements et pousser la mise à jour" -" vers FormShare" +msgid "Python program: Read the list of changes and push the update to FormShare" +msgstr "Programme Python: Lire la liste des changements et pousser la mise à jour vers FormShare" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:126 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:185 @@ -3788,9 +3408,7 @@ msgstr "Configurez l’URL de l’API de mise à jour FormShare" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:132 msgid "Read data list of updates into an array called all_updates." -msgstr "" -"Lisez la liste des données des mises à jour dans une matrice appelée " -"all_updates." +msgstr "Lisez la liste des données des mises à jour dans une matrice appelée all_updates." #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:140 msgid "This will tell FormShare to look for unique row id (rowuuid)" @@ -3825,12 +3443,8 @@ msgid "Setup your FormShare assistant API key. For example" msgstr "Configurez votre clé API assistant FormShare. Par exemple" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:192 -msgid "" -"Create a JSON string using the data in the data frame. In this example " -"this will look like" -msgstr "" -"Créez une chaîne JSON à l’aide des données dans le cadre de données. Dans" -" cet exemple, cela ressemblera à" +msgid "Create a JSON string using the data in the data frame. In this example this will look like" +msgstr "Créez une chaîne JSON à l’aide des données dans le cadre de données. Dans cet exemple, cela ressemblera à" #: formshare/templates/dashboard/projects/forms/snippets/assistants_tab.jinja2:4 msgid "Assigned assistants" @@ -3875,12 +3489,8 @@ msgstr "sont inactifs" #: formshare/templates/dashboard/projects/forms/snippets/assistants_tab.jinja2:51 #: formshare/templates/dashboard/projects/forms/snippets/assistants_tab.jinja2:53 -msgid "" -"Assistants help you to collect and clean data. Add one by clicking on the" -" + button" -msgstr "" -"Les assistants vous aident à collecter et à nettoyer les données. " -"Ajoutez-en un en cliquant sur le bouton +" +msgid "Assistants help you to collect and clean data. Add one by clicking on the + button" +msgstr "Les assistants vous aident à collecter et à nettoyer les données. Ajoutez-en un en cliquant sur le bouton +" #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_compare_forms.jinja2:2 msgid "Changes made to " @@ -4027,9 +3637,7 @@ msgstr "Multimédia (zip)" #: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:29 msgid "Note: Flat CSV is disabled with more than 10,000 submissions." -msgstr "" -"Remarque : le CSV plat est désactivé lorsque le nombre de soumissions " -"dépasse 10 000." +msgstr "Remarque : le CSV plat est désactivé lorsque le nombre de soumissions dépasse 10 000." #: formshare/templates/dashboard/projects/forms/snippets/export.jinja2:36 msgid "Export" @@ -4147,9 +3755,7 @@ msgstr "Votre formulaire a été bloqué" #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:125 msgid "Create the repository to continue receiving submissions. The limit is" -msgstr "" -"Créez le référentiel pour continuer à recevoir des soumissions. La limite" -" est" +msgstr "Créez le référentiel pour continuer à recevoir des soumissions. La limite est" #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:125 #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:25 @@ -4158,12 +3764,8 @@ msgid "test submissions." msgstr "les expéditions de test." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:126 -msgid "" -"After you create the repository, you can receive any number of " -"submissions." -msgstr "" -"Après avoir créé le référentiel, le formulaire peut recevoir un nombre " -"quelconque de soumissions." +msgid "After you create the repository, you can receive any number of submissions." +msgstr "Après avoir créé le référentiel, le formulaire peut recevoir un nombre quelconque de soumissions." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:127 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:132 @@ -4182,9 +3784,7 @@ msgstr "les cas de test." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:131 msgid "After you create the repository, you can receive any number of cases." -msgstr "" -"Après avoir créé le référentiel, le formulaire peut recevoir un nombre " -"quelconque de cas." +msgstr "Après avoir créé le référentiel, le formulaire peut recevoir un nombre quelconque de cas." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:140 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:158 @@ -4195,21 +3795,13 @@ msgstr "Note importante!" #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:142 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:160 -msgid "" -"This form is in testing stage. This means that you can update it at all " -"times and submissions are for testing purposes. " -msgstr "" -"Ce formulaire est en phase de test. Cela signifie que vous pouvez le " -"mettre à jour n'importe quand et les demandes sont à des fins de test. " +msgid "This form is in testing stage. This means that you can update it at all times and submissions are for testing purposes. " +msgstr "Ce formulaire est en phase de test. Cela signifie que vous pouvez le mettre à jour n'importe quand et les demandes sont à des fins de test. " #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:144 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:162 -msgid "" -"This form is in testing stage. This means that you can update it at all " -"times and cases are for testing purposes. " -msgstr "" -"Ce formulaire est en phase de test. Cela signifie que vous pouvez le " -"mettre à jour à tout moment et que les cas sont à des fins de test." +msgid "This form is in testing stage. This means that you can update it at all times and cases are for testing purposes. " +msgstr "Ce formulaire est en phase de test. Cela signifie que vous pouvez le mettre à jour à tout moment et que les cas sont à des fins de test." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:147 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:165 @@ -4232,27 +3824,16 @@ msgid "IMPORTANT INFORMATION:" msgstr "UNE INFORMATION IMPORTANT:" #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:151 -msgid "" -"FormShare has checked your form and it has problems. FormShare will not " -"be able to create a repository from it." -msgstr "" -"FormShare a vérifié votre formulaire et il a des problèmes. FormShare ne " -"sera pas en mesure de créer un référentiel à partir de lui." +msgid "FormShare has checked your form and it has problems. FormShare will not be able to create a repository from it." +msgstr "FormShare a vérifié votre formulaire et il a des problèmes. FormShare ne sera pas en mesure de créer un référentiel à partir de lui." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:151 msgid "Click here to see the problems." msgstr "Cliquez ici pour voir les problèmes." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:154 -#| msgid "" "FormShare needs you to upload all required files before it can -#| check your" " form completely" -msgid "" -"FormShare needs you to upload all required files before it can check your" -" form completely. See the section \"Form files\" below in this page." -msgstr "" -"FormShare a besoin que vous téléchargiez tous les fichiers requis avant " -"qu’il puisse vérifier votre formulaire complètement. Voir la section" -" \"Fichiers de formulaire\" plus bas sur cette page." +msgid "FormShare needs you to upload all required files before it can check your form completely. See the section \"Form files\" below in this page." +msgstr "FormShare a besoin que vous téléchargiez tous les fichiers requis avant qu’il puisse vérifier votre formulaire complètement. Voir la section \"Fichiers de formulaire\" plus bas sur cette page." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:165 msgid "merge it into the repository of " @@ -4260,32 +3841,19 @@ msgstr "le fusionner dans le référentiel de " #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:168 msgid "However you will not be able merge it into the repository of" -msgstr "" -"Cependant, ce formulaire ne peut pas être fusionné dans le référentiel de" +msgstr "Cependant, ce formulaire ne peut pas être fusionné dans le référentiel de" #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:168 msgid "Click here to see the problems" msgstr "Cliquez ici pour voir les problèmes." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:170 -msgid "" -"FormShare needs you to upload all required files before it pre-checks the" -" form for merging" -msgstr "" -"FormShare a besoin que vous téléchargiez tous les fichiers requis avant " -"de pré-vérifier le formulaire de fusion." +msgid "FormShare needs you to upload all required files before it pre-checks the form for merging" +msgstr "FormShare a besoin que vous téléchargiez tous les fichiers requis avant de pré-vérifier le formulaire de fusion." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:184 -msgid "" -"This form is still in testing stage. Your last attempt to generate its " -"repository reported an error. This is unexpected and an email has been " -"sent to the technical team. A representative will contact you ASAP with a" -" solution." -msgstr "" -"Ce formulaire est encore en phase de test. Votre dernière tentative de " -"générer son référentiel a signalé une erreur. C’est inattendu et un " -"e-mail a été envoyé à l’équipe technique. Un représentant vous contactera" -" dès que possible avec une solution." +msgid "This form is still in testing stage. Your last attempt to generate its repository reported an error. This is unexpected and an email has been sent to the technical team. A representative will contact you ASAP with a solution." +msgstr "Ce formulaire est encore en phase de test. Votre dernière tentative de générer son référentiel a signalé une erreur. C’est inattendu et un e-mail a été envoyé à l’équipe technique. Un représentant vous contactera dès que possible avec une solution." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:185 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:210 @@ -4306,15 +3874,8 @@ msgid "Scheduling...." msgstr "Planification...." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:209 -msgid "" -"This form is still in testing stage. Your last attempt to merge it " -"reported an error. This is unexpected and an email has been sent to the " -"technical team. A representative will contact you ASAP with a solution." -msgstr "" -"Ce formulaire est encore en phase de test. Votre dernière tentative de le" -" fusionner a signalé une erreur. C’est inattendu et un e-mail a été " -"envoyé à l’équipe technique. Un représentant vous contactera dès que " -"possible avec une solution." +msgid "This form is still in testing stage. Your last attempt to merge it reported an error. This is unexpected and an email has been sent to the technical team. A representative will contact you ASAP with a solution." +msgstr "Ce formulaire est encore en phase de test. Votre dernière tentative de le fusionner a signalé une erreur. C’est inattendu et un e-mail a été envoyé à l’équipe technique. Un représentant vous contactera dès que possible avec une solution." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:210 msgid "try again." @@ -4520,9 +4081,7 @@ msgstr "Sous-version" #: formshare/templates/dashboard/projects/forms/snippets/info_tab.jinja2:74 msgid "The merge check will start once all required files are uploaded" -msgstr "" -"La vérification de fusion commencera une fois que tous les fichiers " -"requis seront téléchargés" +msgstr "La vérification de fusion commencera une fois que tous les fichiers requis seront téléchargés" #: formshare/templates/dashboard/projects/forms/snippets/info_tab.jinja2:74 msgid "Merge check pending" @@ -4545,9 +4104,7 @@ msgstr "Créer un référentiel" #: formshare/templates/dashboard/projects/forms/snippets/info_tab.jinja2:98 msgid "The repository check will start once all required files are uploaded" -msgstr "" -"La vérification du référentiel commencera une fois que tous les fichiers " -"requis seront téléchargés" +msgstr "La vérification du référentiel commencera une fois que tous les fichiers requis seront téléchargés" #: formshare/templates/dashboard/projects/forms/snippets/info_tab.jinja2:98 msgid "Repository check pending" @@ -4646,9 +4203,7 @@ msgstr "Paramètres ODK" #: formshare/templates/dashboard/projects/forms/snippets/links_tab.jinja2:54 msgid "Anyone can submit data to this form. This project uses crowdsourcing" -msgstr "" -"Tout le monde peut soumettre des données à ce formulaire. Ce projet " -"utilise la collaboration collective" +msgstr "Tout le monde peut soumettre des données à ce formulaire. Ce projet utilise la collaboration collective" #: formshare/templates/dashboard/projects/forms/snippets/links_tab.jinja2:54 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:38 @@ -4661,9 +4216,7 @@ msgstr "Fusion du journal des erreurs" #: formshare/templates/dashboard/projects/forms/snippets/merge_errors.jinja2:10 msgid "The following errors happened while trying to merge this form" -msgstr "" -"Les erreurs suivantes se sont produites en essayant de fusionner ce " -"formulaire" +msgstr "Les erreurs suivantes se sont produites en essayant de fusionner ce formulaire" #: formshare/templates/dashboard/projects/forms/snippets/partners_tab.jinja2:5 msgid "Form partners" @@ -4682,9 +4235,7 @@ msgstr "Cliquez/appuyez et maintenez pour vous désassocier" #: formshare/templates/dashboard/projects/forms/snippets/partners_tab.jinja2:31 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:244 msgid "No linked partners. Use the + button to link a partner" -msgstr "" -"Il n'y a pas de partenaires associés. Utilisez le bouton + pour associer " -"un partenaire" +msgstr "Il n'y a pas de partenaires associés. Utilisez le bouton + pour associer un partenaire" #: formshare/templates/dashboard/projects/forms/snippets/product_error.jinja2:7 msgid "Error while generating product" @@ -4767,13 +4318,8 @@ msgstr "À jour" #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:67 #: formshare/templates/partner/snippets/product_item.jinja2:38 -msgid "" -"This product was created before the last submission and/or before the " -"last data cleaning update and/or before the last fixed log entry" -msgstr "" -"Ce produit a été créé avant la dernière demande et/ou avant la dernière " -"mise à jour de nettoyage des données et/ouavant la dernière correction du" -" journal d'expédition" +msgid "This product was created before the last submission and/or before the last data cleaning update and/or before the last fixed log entry" +msgstr "Ce produit a été créé avant la dernière demande et/ou avant la dernière mise à jour de nettoyage des données et/ouavant la dernière correction du journal d'expédition" #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:67 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:72 @@ -4826,12 +4372,8 @@ msgid "Repository error log" msgstr "Journal d’erreur du référentiel" #: formshare/templates/dashboard/projects/forms/snippets/repository_errors.jinja2:10 -msgid "" -"The following errors happened while trying to create the repository for " -"this form:" -msgstr "" -"Les erreurs suivantes se sont produites en essayant de créer le " -"référentiel pour ce formulaire :" +msgid "The following errors happened while trying to create the repository for this form:" +msgstr "Les erreurs suivantes se sont produites en essayant de créer le référentiel pour ce formulaire :" #: formshare/templates/dashboard/projects/forms/snippets/repository_tab.jinja2:4 msgid "Repository tools" @@ -4869,9 +4411,7 @@ msgstr "Télécharger une nouvelle version" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:13 msgid "Warning: Uploading a new version will remove any test data" -msgstr "" -"Avertissement : Le téléchargement d’une nouvelle version supprimera " -"toutes les données de test" +msgstr "Avertissement : Le téléchargement d’une nouvelle version supprimera toutes les données de test" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:23 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:38 @@ -4881,17 +4421,11 @@ msgstr "Fichier d’enquête (xls / xlsx)" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:26 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:41 msgid "Select the ODK Form that you want to upload into FormShare" -msgstr "" -"Sélectionnez le formulaire ODK que vous souhaitez télécharger sur " -"FormShare" +msgstr "Sélectionnez le formulaire ODK que vous souhaitez télécharger sur FormShare" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:33 -msgid "" -"In the ODK Form that you are uploading into FormShare, which variable " -"will be used to control duplicate submissions?" -msgstr "" -"Dans le formulaire ODK que vous téléchargez sur FormShare, quelle " -"variable sera utilisée pour contrôler les soumissions en double ?" +msgid "In the ODK Form that you are uploading into FormShare, which variable will be used to control duplicate submissions?" +msgstr "Dans le formulaire ODK que vous téléchargez sur FormShare, quelle variable sera utilisée pour contrôler les soumissions en double ?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:34 msgid "You need to indicate the variable to control duplicate submissions" @@ -4899,30 +4433,13 @@ msgstr "Vous devez indiquer la variable pour contrôler les envois en double" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:35 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:50 -msgid "" -"To control duplicate submissions, you need to select a variable from your" -" ODK Form whose values will be UNIQUE across all the submissions that you" -" expect to have. If you need to join two or more variables to become " -"UNIQUE, then use an ODK Calculate to merge them into one variable. This " -"variable will become the Primary Key of your ODK Form and CANNOT BE " -"CHANGED afterward." -msgstr "" -"Pour contrôler les soumissions en double, vous devez sélectionner une " -"variable dans votre formulaire ODK dont les valeurs seront UNIQUES pour " -"toutes les soumissions que vous vous attendez à recevoir. Si vous devez " -"joindre deux variables ou plus pour créer une variable UNIQUE, utilisez " -"un ODK calculate pour joindre ces variables. Cette variable deviendra la " -"clé primaire de votre formulaire ODK et NE PEUT PAS ÊTRE MODIFIÉE par la " -"suite." +msgid "To control duplicate submissions, you need to select a variable from your ODK Form whose values will be UNIQUE across all the submissions that you expect to have. If you need to join two or more variables to become UNIQUE, then use an ODK Calculate to merge them into one variable. This variable will become the Primary Key of your ODK Form and CANNOT BE CHANGED afterward." +msgstr "Pour contrôler les soumissions en double, vous devez sélectionner une variable dans votre formulaire ODK dont les valeurs seront UNIQUES pour toutes les soumissions que vous vous attendez à recevoir. Si vous devez joindre deux variables ou plus pour créer une variable UNIQUE, utilisez un ODK calculate pour joindre ces variables. Cette variable deviendra la clé primaire de votre formulaire ODK et NE PEUT PAS ÊTRE MODIFIÉE par la suite." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:42 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:62 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to identify each case?" -msgstr "" -"Dans ce formulaire ODK que vous téléchargez sur FormShare, quelle " -"variable sera utilisée pour identifier chaque cas ?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to identify each case?" +msgstr "Dans ce formulaire ODK que vous téléchargez sur FormShare, quelle variable sera utilisée pour identifier chaque cas ?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:43 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:63 @@ -4931,28 +4448,13 @@ msgstr "Vous devez indiquer une variable pour identifier chaque cas" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:44 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:64 -msgid "" -"Each case must be UNIQUE. You need to select a variable from your ODK " -"Form whose values will be UNIQUE across all the cases that you expect to " -"have. If you need to join two or more variables to become UNIQUE, then " -"use an ODK Calculate to merge them into one variable. This variable will " -"become the Primary Key of your ODK Form and CANNOT BE CHANGED afterward." -msgstr "" -"Chaque cas doit être UNIQUE. Vous devez sélectionner une variable dans " -"votre formulaire ODK dont les valeurs seront UNIQUES dans tous les cas " -"que vous vous attendez à avoir. Si vous devez joindre deux variables ou " -"plus pour générer une variable UNIQUE, utilisez un ODK calculate pour les" -" joindre en une seule variable. Cette variable deviendra la clé primaire " -"de votre formulaire ODK et NE PEUT PAS ÊTRE MODIFIÉE par la suite." +msgid "Each case must be UNIQUE. You need to select a variable from your ODK Form whose values will be UNIQUE across all the cases that you expect to have. If you need to join two or more variables to become UNIQUE, then use an ODK Calculate to merge them into one variable. This variable will become the Primary Key of your ODK Form and CANNOT BE CHANGED afterward." +msgstr "Chaque cas doit être UNIQUE. Vous devez sélectionner une variable dans votre formulaire ODK dont les valeurs seront UNIQUES dans tous les cas que vous vous attendez à avoir. Si vous devez joindre deux variables ou plus pour générer une variable UNIQUE, utilisez un ODK calculate pour les joindre en une seule variable. Cette variable deviendra la clé primaire de votre formulaire ODK et NE PEUT PAS ÊTRE MODIFIÉE par la suite." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:48 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:68 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to label each case?" -msgstr "" -"Dans ce formulaire ODK que vous téléchargez sur FormShare, quelle " -"variable sera utilisée pour étiqueter chaque cas ?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to label each case?" +msgstr "Dans ce formulaire ODK que vous téléchargez sur FormShare, quelle variable sera utilisée pour étiqueter chaque cas ?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:49 msgid "You need to indicate the variable to label each case" @@ -4960,19 +4462,8 @@ msgstr "Vous devez indiquer une variable pour étiqueter chaque cas" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:50 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:70 -msgid "" -"Each case needs to have a label. You need to select a variable from your " -"ODK Form to label each case. Follow-up forms will use this variable to " -"search and select each case. If you need to join two or more variables to" -" create a label, then use an ODK Calculate to merge them into one " -"variable." -msgstr "" -"Chaque cas doit avoir une étiquette. Vous devez sélectionner une variable" -" dans votre formulaire ODK pour étiqueter chaque cas. Les formulaires de " -"suivi utiliseront cette variable pour rechercher et sélectionner chaque " -"cas. Si vous devez joindre deux variables ou plus pour créer une " -"étiquette, utilisez un ODK calculate pour les joindre en une seule " -"variable." +msgid "Each case needs to have a label. You need to select a variable from your ODK Form to label each case. Follow-up forms will use this variable to search and select each case. If you need to join two or more variables to create a label, then use an ODK Calculate to merge them into one variable." +msgstr "Chaque cas doit avoir une étiquette. Vous devez sélectionner une variable dans votre formulaire ODK pour étiqueter chaque cas. Les formulaires de suivi utiliseront cette variable pour rechercher et sélectionner chaque cas. Si vous devez joindre deux variables ou plus pour créer une étiquette, utilisez un ODK calculate pour les joindre en une seule variable." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:55 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:81 @@ -4992,26 +4483,17 @@ msgid "Follow-up and activate case form" msgstr "Formulaire de suivi et activation des cas" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:62 -msgid "" -"In the ODK Form that you are uploading into FormShare, which variable " -"will be used to search and select a case?" -msgstr "" -"Dans le formulaire ODK que vous téléchargez sur FormShare, quelle " -"variable sera utilisée pour rechercher et sélectionner un cas ?" +msgid "In the ODK Form that you are uploading into FormShare, which variable will be used to search and select a case?" +msgstr "Dans le formulaire ODK que vous téléchargez sur FormShare, quelle variable sera utilisée pour rechercher et sélectionner un cas ?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:63 msgid "You need to indicate the variable to search and select cases" -msgstr "" -"Vous devez indiquer la variable pour rechercher et sélectionner les cas" +msgstr "Vous devez indiquer la variable pour rechercher et sélectionner les cas" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:64 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:91 -msgid "" -"This variable MUST BE either a \"select_one_from_file\" (The file MUST BE" -" CSV) or a \"barcode\"." -msgstr "" -"Cette variable DOIT ÊTRE de type \"select_one_from_file\" (Le fichier " -"DOIT ÊTRE CSV) ou de type \"barcode\"." +msgid "This variable MUST BE either a \"select_one_from_file\" (The file MUST BE CSV) or a \"barcode\"." +msgstr "Cette variable DOIT ÊTRE de type \"select_one_from_file\" (Le fichier DOIT ÊTRE CSV) ou de type \"barcode\"." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:64 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:91 @@ -5019,39 +4501,20 @@ msgid "Download an example the CSV file " msgstr "Télécharger un exemple de fichier CSV" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:68 -msgid "" -"In the ODK Form that you are uploading into FormShare, which variable " -"will be used to record the date or the date and time of a new data point " -"attached to a case?" -msgstr "" -"Dans le formulaire ODK que vous téléchargez sur FormShare, quelle " -"variable sera utilisée pour enregistrer la date ou l'horodatage d'un " -"nouveau point de données attaché à un cas ?" +msgid "In the ODK Form that you are uploading into FormShare, which variable will be used to record the date or the date and time of a new data point attached to a case?" +msgstr "Dans le formulaire ODK que vous téléchargez sur FormShare, quelle variable sera utilisée pour enregistrer la date ou l'horodatage d'un nouveau point de données attaché à un cas ?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:69 msgid "You need to indicate the variable to record date or date and time." -msgstr "" -"Vous devez indiquer une variable pour stocker la date ou la date et " -"l'heure" +msgstr "Vous devez indiquer une variable pour stocker la date ou la date et l'heure" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:70 -msgid "" -"Follow-up case forms attach data to a case. Each case can have different " -"data at different points in time. Each data point must have a date. This " -"variable MUST BE either \"date\" or \"datetime\"." -msgstr "" -"Les formulaires de suivi joignent des données à un dossier. Chaque cas " -"peut avoir des données différentes à des moments différents (points de " -"données dans le temps). Chaque point de données doit avoir une date. " -"Cette variable DOIT ÊTRE \"date\" ou \"datetime\"." +msgid "Follow-up case forms attach data to a case. Each case can have different data at different points in time. Each data point must have a date. This variable MUST BE either \"date\" or \"datetime\"." +msgstr "Les formulaires de suivi joignent des données à un dossier. Chaque cas peut avoir des données différentes à des moments différents (points de données dans le temps). Chaque point de données doit avoir une date. Cette variable DOIT ÊTRE \"date\" ou \"datetime\"." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:74 -msgid "" -"In the ODK Form that you are uploading into FormShare, which variable " -"will be used to control duplicate cases?" -msgstr "" -"Dans le formulaire ODK que vous téléchargez sur FormShare, quelle " -"variable sera utilisée pour gérer les cas en double?" +msgid "In the ODK Form that you are uploading into FormShare, which variable will be used to control duplicate cases?" +msgstr "Dans le formulaire ODK que vous téléchargez sur FormShare, quelle variable sera utilisée pour gérer les cas en double?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:75 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:102 @@ -5059,31 +4522,8 @@ msgid "You need to indicate the variable to control duplicate cases" msgstr "Vous devez indiquer une variable pour contrôler les cas en double" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:76 -msgid "" -"To control duplicate cases, you need to join two or more variables to " -"become UNIQUE. For example, use an ODK Calculate to join the variable " -"that you selected above to search and select a case with the variable " -"that you selected above to record the date of new data point attached to " -"a case. This ODK Calculate will become the Primary Key of your ODK Form " -"and CANNOT BE CHANGED afterwards." -msgstr "" -"Pour gérer les cas en double, vous devez joindre deux variables ou plus " -"pour créer une variable UNIQUE. Par exemple, utilisez un ODK calculate " -"pour faire correspondre la variable que vous avez précédemment " -"sélectionnée pour rechercher et sélectionner des observations avec la " -"variable que vous avez précédemment sélectionnée pour enregistrer la " -"date. Ce ODK calculate deviendra la clé primaire de votre formulaire ODK " -"et NE PEUT PAS ÊTRE MODIFIÉ par la suite." - -#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:7 -#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:7 -msgid "Upload file" -msgstr "Télécharger le fichier" - -#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:17 -#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:17 -msgid "Choose files" -msgstr "Choisir des fichiers" +msgid "To control duplicate cases, you need to join two or more variables to become UNIQUE. For example, use an ODK Calculate to join the variable that you selected above to search and select a case with the variable that you selected above to record the date of new data point attached to a case. This ODK Calculate will become the Primary Key of your ODK Form and CANNOT BE CHANGED afterwards." +msgstr "Pour gérer les cas en double, vous devez joindre deux variables ou plus pour créer une variable UNIQUE. Par exemple, utilisez un ODK calculate pour faire correspondre la variable que vous avez précédemment sélectionnée pour rechercher et sélectionner des observations avec la variable que vous avez précédemment sélectionnée pour enregistrer la date. Ce ODK calculate deviendra la clé primaire de votre formulaire ODK et NE PEUT PAS ÊTRE MODIFIÉ par la suite." #: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:21 #: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:21 @@ -5095,12 +4535,6 @@ msgstr "Écraser" msgid "Overwrite any existent file" msgstr "Remplacer tout fichier existant" -#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:30 -#: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:117 -#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:30 -msgid "Upload" -msgstr "Télécharger" - #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:9 msgid "Upload form" msgstr "Télécharger le formulaire" @@ -5126,12 +4560,8 @@ msgid "Upload case form for merging" msgstr "Télécharger le formulaire de cas pour la fusion" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:48 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to control duplicate submissions?" -msgstr "" -"Dans ce formulaire ODK que vous téléchargez sur FormShare, quelle " -"variable sera utilisée pour contrôler les soumissions en double ?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to control duplicate submissions?" +msgstr "Dans ce formulaire ODK que vous téléchargez sur FormShare, quelle variable sera utilisée pour contrôler les soumissions en double ?" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:49 msgid "You need to indicate the variable to control duplicate data" @@ -5162,68 +4592,32 @@ msgid "Follow-up and activate" msgstr "Suivi et activation" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:89 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to search and select a case?" -msgstr "" -"Dans ce formulaire ODK que vous téléchargez sur FormShare, quelle " -"variable sera utilisée pour rechercher et sélectionner un cas ?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to search and select a case?" +msgstr "Dans ce formulaire ODK que vous téléchargez sur FormShare, quelle variable sera utilisée pour rechercher et sélectionner un cas ?" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:90 msgid "You need to indicate the case selector variable" -msgstr "" -"Vous devez indiquer la variable pour rechercher et sélectionner les cas" +msgstr "Vous devez indiquer la variable pour rechercher et sélectionner les cas" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:95 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to record the date of a new data point attached to a case?" -msgstr "" -"Dans ce formulaire ODK que vous téléchargez sur FormShare, quelle " -"variable sera utilisée pour enregistrer la date d'un nouveau point de " -"données attaché à un cas?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to record the date of a new data point attached to a case?" +msgstr "Dans ce formulaire ODK que vous téléchargez sur FormShare, quelle variable sera utilisée pour enregistrer la date d'un nouveau point de données attaché à un cas?" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:96 msgid "You need to indicate the case datetime variable" msgstr "Vous devez indiquer la variable qui stockera la date" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:97 -msgid "" -"Follow-up forms attach data to a case. Each case can have different data " -"at different points in time. Each data point must have a date. This " -"variable MUST BE either \"date\" or \"datetime\"." -msgstr "" -"Les formulaires de suivi joignent des données à un cas. Chaque cas peut " -"avoir des données à des moments différents (points de données dans le " -"temps). Chaque point de données doit avoir une date. Cette variable DOIT " -"ÊTRE de type \"date\" ou \"datetime\"." +msgid "Follow-up forms attach data to a case. Each case can have different data at different points in time. Each data point must have a date. This variable MUST BE either \"date\" or \"datetime\"." +msgstr "Les formulaires de suivi joignent des données à un cas. Chaque cas peut avoir des données à des moments différents (points de données dans le temps). Chaque point de données doit avoir une date. Cette variable DOIT ÊTRE de type \"date\" ou \"datetime\"." #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:101 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to control duplicate data?" -msgstr "" -"Dans ce formulaire ODK que vous téléchargez sur FormShare, quelle " -"variable sera utilisée pour gérer les données en double ?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to control duplicate data?" +msgstr "Dans ce formulaire ODK que vous téléchargez sur FormShare, quelle variable sera utilisée pour gérer les données en double ?" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:103 -msgid "" -"Follow-up forms attach information to a case at different points in time." -" Therefore, the ID of the case + the date/datetime should be UNIQUE " -"across time. You just indicated above: a) The variable used to search and" -" select a case and b) The variable to record the date. In your ODK form " -"join these two variables into a \"calculate\" variable and paste its name" -" here. This variable will become the Primary Key of your ODK Form and " -"CANNOT BE CHANGED afterwards." -msgstr "" -"Les formulaires de suivi joignent des informations à un cas à différents " -"moments (points de données au fil du temps). Par conséquent, l'ID de cas " -"+ la date doit être UNIQUE dans le temps. Vous venez d'indiquer ci-dessus" -" : a) La variable utilisée pour rechercher et sélectionner les cas et b) " -"La variable pour enregistrer la date. Dans votre formulaire ODK, " -"fusionnez ces deux variables dans une variable \"calculate\" et collez " -"leur nom ici. Cette variable deviendra la clé primaire de votre " -"formulaire ODK et NE PEUT PAS ÊTRE MODIFIÉE par la suite." +msgid "Follow-up forms attach information to a case at different points in time. Therefore, the ID of the case + the date/datetime should be UNIQUE across time. You just indicated above: a) The variable used to search and select a case and b) The variable to record the date. In your ODK form join these two variables into a \"calculate\" variable and paste its name here. This variable will become the Primary Key of your ODK Form and CANNOT BE CHANGED afterwards." +msgstr "Les formulaires de suivi joignent des informations à un cas à différents moments (points de données au fil du temps). Par conséquent, l'ID de cas + la date doit être UNIQUE dans le temps. Vous venez d'indiquer ci-dessus : a) La variable utilisée pour rechercher et sélectionner les cas et b) La variable pour enregistrer la date. Dans votre formulaire ODK, fusionnez ces deux variables dans une variable \"calculate\" et collez leur nom ici. Cette variable deviendra la clé primaire de votre formulaire ODK et NE PEUT PAS ÊTRE MODIFIÉE par la suite." #: formshare/templates/dashboard/projects/forms/snippets/upload_form_js.jinja2:5 msgid "One moment please..." @@ -5259,12 +4653,8 @@ msgid "You are going to delete all the submissions" msgstr "Vous allez supprimer toutes les demandes" #: formshare/templates/dashboard/projects/forms/submissions/edit_submissions.jinja2:90 -msgid "" -"Unless you want to start all over again, this is something that you " -"should not do!" -msgstr "" -"À moins que vous ne vouliez tout recommencer, c’est quelque chose que " -"vous ne devriez pas faire!" +msgid "Unless you want to start all over again, this is something that you should not do!" +msgstr "À moins que vous ne vouliez tout recommencer, c’est quelque chose que vous ne devriez pas faire!" #: formshare/templates/dashboard/projects/forms/submissions/edit_submissions.jinja2:91 msgid "Confirm your email address:" @@ -5308,12 +4698,8 @@ msgid "You are moving submission" msgstr "Vous êtes en train de déplacer la demande" #: formshare/templates/dashboard/projects/forms/submissions/snippets/move_to_logs.jinja2:13 -msgid "" -"from the repository to the logs. You need to indicate which assistant " -"will be in charge of handling the log entry" -msgstr "" -"du référentiel aux journaux. Vous devez indiquer quel assistant sera " -"chargé de gérer l'entrée du journal" +msgid "from the repository to the logs. You need to indicate which assistant will be in charge of handling the log entry" +msgstr "du référentiel aux journaux. Vous devez indiquer quel assistant sera chargé de gérer l'entrée du journal" #: formshare/templates/dashboard/projects/forms/submissions/snippets/move_to_logs.jinja2:30 msgid "Move" @@ -5343,27 +4729,13 @@ msgstr "Sélectionner une option" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:66 #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:52 -msgid "" -"Please note that FormShare will store the descriptions of variables and " -"choices in the primary language." -msgstr "" -"Veuillez noter que FormShare stockera les descriptions des variables et " -"des choix dans le langage primaire." +msgid "Please note that FormShare will store the descriptions of variables and choices in the primary language." +msgstr "Veuillez noter que FormShare stockera les descriptions des variables et des choix dans le langage primaire." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:68 #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:59 -msgid "" -"The language called \"default\" appears when you have a \"label\" or " -"\"hint\" without indicating a language. For example if you have a column " -"called \"label\" and another called \"label:English (es)\" then " -"\"default\" refers to the language of \"label\" which is not indicated in" -" the ODK Form." -msgstr "" -"La langue dite « par défaut » apparaît lorsque vous avez un \"label\" " -"ou\"hint\" sans indiquer votre langue. Par exemple, si vous avez une " -"colonneappelé \"label\" et un autre appelé \"label::English (es)\", " -"puis\"default\" fait référence à la langue de \"label\" dont la langue " -"n'était pas indiquée dans le formulaire ODK." +msgid "The language called \"default\" appears when you have a \"label\" or \"hint\" without indicating a language. For example if you have a column called \"label\" and another called \"label:English (es)\" then \"default\" refers to the language of \"label\" which is not indicated in the ODK Form." +msgstr "La langue dite « par défaut » apparaît lorsque vous avez un \"label\" ou\"hint\" sans indiquer votre langue. Par exemple, si vous avez une colonneappelé \"label\" et un autre appelé \"label::English (es)\", puis\"default\" fait référence à la langue de \"label\" dont la langue n'était pas indiquée dans le formulaire ODK." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:72 #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:63 @@ -5395,24 +4767,16 @@ msgid "Oops! Something went wrong!" msgstr "Oups! Quelque chose s'est mal passé!" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:93 -msgid "" -"The process returned an unexpected error. An email has been sent to the " -"technical team." -msgstr "" -"Le processus a renvoyé une erreur inattendue. Un e-mail a été envoyé à " -"l’équipe technique." +msgid "The process returned an unexpected error. An email has been sent to the technical team." +msgstr "Le processus a renvoyé une erreur inattendue. Un e-mail a été envoyé à l’équipe technique." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:96 msgid "Your ODK form has duplicated options." msgstr "Votre formulaire ODK a des options en doublé." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:97 -msgid "" -"You need to fix the below errors in CSV files, upload the new version and" -" continue the process." -msgstr "" -"Vous devez corriger les erreurs ci-dessous dans les fichiers CSV, " -"télécharger la nouvelle version et poursuivre le processus." +msgid "You need to fix the below errors in CSV files, upload the new version and continue the process." +msgstr "Vous devez corriger les erreurs ci-dessous dans les fichiers CSV, télécharger la nouvelle version et poursuivre le processus." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:100 msgid "CSV with duplicated options" @@ -5486,36 +4850,20 @@ msgid "has invalid characters" msgstr "a des caractères incorrectes" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:145 -msgid "" -"cannot be read or you are mixing select options in CSV with options in " -"the choices sheet." -msgstr "" -"ne peut pas être lu ou vous mélangez certaines options dans CSV avec des " -"options dans la feuille des choix." +msgid "cannot be read or you are mixing select options in CSV with options in the choices sheet." +msgstr "ne peut pas être lu ou vous mélangez certaines options dans CSV avec des options dans la feuille des choix." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:147 -msgid "" -"Please check the CSV file and whether you are mixing select options in " -"the choices sheet with options in a CSV for a single list_name and move " -"all the select options to the CSV" -msgstr "" -"Veuillez vérifier le fichier CSV et si vous mélangez des options de " -"sélection dans la feuille des choix avec des options dans un CSV pour une" -" seule list_name et déplacez toutes les options de sélection vers le CSV" +msgid "Please check the CSV file and whether you are mixing select options in the choices sheet with options in a CSV for a single list_name and move all the select options to the CSV" +msgstr "Veuillez vérifier le fichier CSV et si vous mélangez des options de sélection dans la feuille des choix avec des options dans un CSV pour une seule list_name et déplacez toutes les options de sélection vers le CSV" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:151 msgid "Your ODK form has duplicated list names in the choices sheet" -msgstr "" -"Votre formulaire ODK a dupliqué les noms de la liste dans la feuille de " -"choix" +msgstr "Votre formulaire ODK a dupliqué les noms de la liste dans la feuille de choix" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:152 -msgid "" -"You need to fix the below errors in the ODK form, upload the new version " -"and continue the process." -msgstr "" -"Vous devez corriger les erreurs ci-dessous dans le formulaire ODK, " -"télécharger la nouvelle version et poursuivre le processus." +msgid "You need to fix the below errors in the ODK form, upload the new version and continue the process." +msgstr "Vous devez corriger les erreurs ci-dessous dans le formulaire ODK, télécharger la nouvelle version et poursuivre le processus." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:155 msgid "List name" @@ -5534,11 +4882,8 @@ msgid "The following tables have a name with more than 64 characters:" msgstr "Les tables suivantes ont un nom de plus de 64 caractères :" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:177 -msgid "" -"Please shorten the names of the tables and/or the selects and try again." -msgstr "" -"Raccourcissez les noms des tables et/ou des listes de sélection et " -"réessayez." +msgid "Please shorten the names of the tables and/or the selects and try again." +msgstr "Raccourcissez les noms des tables et/ou des listes de sélection et réessayez." #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:4 #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:25 @@ -5547,53 +4892,28 @@ msgid "Fix languages" msgstr "Corriger les langues" #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:38 -msgid "" -"On this page, we assume that you know the language of the repository and " -"that the changes that you are making here to merge this new version are " -"correct. You assume the risks of ending up with an inconsistent " -"repository." -msgstr "" -"Sur cette page, nous supposons que vous connaissez la langue du " -"référentiel etque les modifications que vous apportez ici pour fusionner " -"cette nouvelle version sontcorrect. Vous prenez le risque de vous " -"retrouver avec un référentiel incohérent." +msgid "On this page, we assume that you know the language of the repository and that the changes that you are making here to merge this new version are correct. You assume the risks of ending up with an inconsistent repository." +msgstr "Sur cette page, nous supposons que vous connaissez la langue du référentiel etque les modifications que vous apportez ici pour fusionner cette nouvelle version sontcorrect. Vous prenez le risque de vous retrouver avec un référentiel incohérent." #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:54 msgid "The language of the previous form was" msgstr "La langue du formulaire ci-dessus est" #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:56 -msgid "" -"The previous version of the form WAS NOT in multiple languages. You need " -"to be very careful in indicating now the default language!!" -msgstr "" -"La version précédente de ce formulaire N'ÉTAIT PAS en plusieurs langues. " -"Vous devez être très prudent lorsque vous entrez la langue par défaut " -"maintenant !!" +msgid "The previous version of the form WAS NOT in multiple languages. You need to be very careful in indicating now the default language!!" +msgstr "La version précédente de ce formulaire N'ÉTAIT PAS en plusieurs langues. Vous devez être très prudent lorsque vous entrez la langue par défaut maintenant !!" #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:75 -msgid "" -"This version does not have any languages. However, the previous version " -"had different languages." -msgstr "" -"Cette version n'a pas de langue. Cependant, l'ancienne versionil avait " -"des langues différentes." +msgid "This version does not have any languages. However, the previous version had different languages." +msgstr "Cette version n'a pas de langue. Cependant, l'ancienne versionil avait des langues différentes." #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:77 -msgid "" -"By fixing it, you assume that the language of this new version of the " -"form is" -msgstr "" -"En le fixant, il suppose que la langue de cette nouvelle version dula " -"forme est" +msgid "By fixing it, you assume that the language of this new version of the form is" +msgstr "En le fixant, il suppose que la langue de cette nouvelle version dula forme est" #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:77 -msgid "" -"If that is not correct then you will end up with an inconsistent " -"repository." -msgstr "" -"Si ce n'est pas correct, vous vous retrouverez avec un référentiel " -"incohérent." +msgid "If that is not correct then you will end up with an inconsistent repository." +msgstr "Si ce n'est pas correct, vous vous retrouverez avec un référentiel incohérent." #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:81 msgid "I assume the risks. Fix the languages" @@ -5616,11 +4936,8 @@ msgid "FormShare will perform more checks on" msgstr "FormShare effectuera plus de contrôles sur" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:41 -msgid "" -"and report whether or not is possible to merge it into the repository of" -msgstr "" -"et déclarera s’il est possible ou non de le fusionner dans le référentiel" -" de" +msgid "and report whether or not is possible to merge it into the repository of" +msgstr "et déclarera s’il est possible ou non de le fusionner dans le référentiel de" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:41 msgid "The following changes cannot be merged:" @@ -5640,26 +4957,18 @@ msgstr "il y a la répétition B à l’intérieur de la répétition A, mais da #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:44 msgid "you have repeat A and repeat C but repeat B is now inside C." -msgstr "" -"il y a les répétitions A et C, mais la répétition B est maintenant à " -"l’intérieur de C." +msgstr "il y a les répétitions A et C, mais la répétition B est maintenant à l’intérieur de C." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:45 msgid "Change a string variable into integer." msgstr "Changer une variable de chaîne en intégrant." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:46 -msgid "" -"Change a variable from select one into select multiple and the other way " -"around." -msgstr "" -"Modifier une variable de sélectionner une à sélectionner plusieurs et " -"viceversa." +msgid "Change a variable from select one into select multiple and the other way around." +msgstr "Modifier une variable de sélectionner une à sélectionner plusieurs et viceversa." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:47 -msgid "" -"Change a variable from categorical into continuous and the other way " -"around." +msgid "Change a variable from categorical into continuous and the other way around." msgstr "Changer une variable de catégorielle à continue et vicerversa." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:48 @@ -5671,55 +4980,32 @@ msgid "you have \"1-Male\" but in" msgstr "vous avez \"1-Male\" mais dans" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:48 -msgid "" -"you have \"1-Man\". In this case FormShare will ask you if such a change " -"should be ignored because this could be a typo fix between versions, " -"however" -msgstr "" -"vous avez \"1-Man\". Dans ce cas FormShare vous demandera si un tel " -"changement doit être ignoré parce que cela pourrait être un correctif de " -"faute de frappe entre les versions, cependant" +msgid "you have \"1-Man\". In this case FormShare will ask you if such a change should be ignored because this could be a typo fix between versions, however" +msgstr "vous avez \"1-Man\". Dans ce cas FormShare vous demandera si un tel changement doit être ignoré parce que cela pourrait être un correctif de faute de frappe entre les versions, cependant" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:48 msgid "YOU ASSUME THE RISK." msgstr "VOUS ASSUMEZ LE RISQUE." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:51 -msgid "" -"The merge will only apply incremental changes thus you will not lose " -"data. If for example you removed a variable in" -msgstr "" -"La fusion n’appliquera que des modifications incrémentielles, donc vous " -"ne perdrez pas de données. Si, par exemple, vous avez supprimé une " -"variable en" +msgid "The merge will only apply incremental changes thus you will not lose data. If for example you removed a variable in" +msgstr "La fusion n’appliquera que des modifications incrémentielles, donc vous ne perdrez pas de données. Si, par exemple, vous avez supprimé une variable en" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:51 msgid "such variable will always exist in the repository of" msgstr "une telle variable existera toujours dans le référentiel de" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:52 -msgid "" -"FormShare will apply the merge in a secure backup before any changes are " -"made to the repository of" -msgstr "" -"FormShare appliquera la fusion dans une sauvegarde sécurisée avant que " -"des modifications soient apportées au référentiel de" +msgid "FormShare will apply the merge in a secure backup before any changes are made to the repository of" +msgstr "FormShare appliquera la fusion dans une sauvegarde sécurisée avant que des modifications soient apportées au référentiel de" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:53 -msgid "" -"Any form using such repository will not accept changes until the merge is" -" committed or rolled-back." -msgstr "" -"Tout formulaire utilisant un tel référentiel n’acceptera pas les " -"modifications tant que la fusion n’aura pas été engagée ou annulée." +msgid "Any form using such repository will not accept changes until the merge is committed or rolled-back." +msgstr "Tout formulaire utilisant un tel référentiel n’acceptera pas les modifications tant que la fusion n’aura pas été engagée ou annulée." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:73 -msgid "" -"There are changes in the descriptions of certain choice options. You can " -"merge such changes at" -msgstr "" -"Il y a des changements dans les descriptions de certaines options de " -"choix. Vous pouvez fusionner ces modifications à" +msgid "There are changes in the descriptions of certain choice options. You can merge such changes at" +msgstr "Il y a des changements dans les descriptions de certaines options de choix. Vous pouvez fusionner ces modifications à" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:73 msgid "YOUR OWN RISK" @@ -5734,21 +5020,13 @@ msgid "Discard all testing data (Option is \"No\" by default)" msgstr "Jetez toutes les données de test (l’option est « Non » par défaut)" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:85 -msgid "" -"Change the switch if you DO NOT WANT to append the testing data into the " -"repository" -msgstr "" -"Basculez le commutateur si vous NE VOULEZ PAS ajouter les données de test" -" au référentiel" +msgid "Change the switch if you DO NOT WANT to append the testing data into the repository" +msgstr "Basculez le commutateur si vous NE VOULEZ PAS ajouter les données de test au référentiel" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:88 #: formshare/templates/dashboard/projects/repository/snippets/pkey_form.jinja2:10 -msgid "" -"The form does not have an assistant that can submit data. If you proceed " -"all testing data will get discarded!!!" -msgstr "" -"Le formulaire ne dispose pas d'un assistant permettant de soumettre des " -"données. Le cas échéant, toutes les données d'essai seront rejetées !!!!." +msgid "The form does not have an assistant that can submit data. If you proceed all testing data will get discarded!!!" +msgstr "Le formulaire ne dispose pas d'un assistant permettant de soumettre des données. Le cas échéant, toutes les données d'essai seront rejetées !!!!." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:95 msgid "Accept changes and merge new version" @@ -5768,28 +5046,19 @@ msgstr "Création d'un référentiel pour " #: formshare/templates/dashboard/projects/repository/snippets/pkey_form.jinja2:5 msgid "Discard / delete all testing data (Option is \"No\" by default)" -msgstr "" -"Jeter / supprimer toutes les données de test (l'option est « Non » par " -"défaut)" +msgstr "Jeter / supprimer toutes les données de test (l'option est « Non » par défaut)" #: formshare/templates/dashboard/projects/repository/snippets/pkey_form.jinja2:7 msgid "Change the switch if you want to start with a clean repository" -msgstr "" -"Basculez le commutateur si vous souhaitez commencer avec un référentiel " -"propre" +msgstr "Basculez le commutateur si vous souhaitez commencer avec un référentiel propre" #: formshare/templates/dashboard/projects/repository/snippets/pkey_form.jinja2:16 msgid "Which variable will be used to control duplicate submissions?" -msgstr "" -"Quelle variable sera utilisée pour contrôler les soumissions en double?" +msgstr "Quelle variable sera utilisée pour contrôler les soumissions en double?" #: formshare/templates/dashboard/projects/repository/snippets/pkey_form.jinja2:18 -msgid "" -"This will become the Primary Key of the repository. If you have more than" -" one variable then use an ODK Calculate to join them." -msgstr "" -"Cela deviendra la clé primaire du référentiel. Si vous avez plus d’une " -"variable, utilisez un ODK Calculate pour les joindre." +msgid "This will become the Primary Key of the repository. If you have more than one variable then use an ODK Calculate to join them." +msgstr "Cela deviendra la clé primaire du référentiel. Si vous avez plus d’une variable, utilisez un ODK Calculate pour les joindre." #: formshare/templates/dashboard/projects/snippets/brdcrbs_prjdtls.jinja2:2 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:276 @@ -5813,13 +5082,12 @@ msgstr "Ajouter un nouveau formulaire" #: formshare/templates/dashboard/projects/snippets/no_forms.jinja2:16 msgid "Create the case lookup table before adding new forms" -msgstr "" -"Créez la table de recherche de cas avant d'ajouter de nouveaux formulaires" +msgstr "Créez la table de recherche de cas avant d'ajouter de nouveaux formulaires" #: formshare/templates/dashboard/projects/snippets/no_forms.jinja2:16 #: formshare/templates/dashboard/projects/snippets/no_forms.jinja2:22 #: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:38 -#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:44 +#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:47 msgid "Add new form (Inactive)" msgstr "Ajouter un nouveau formulaire (Inactif)" @@ -5832,13 +5100,9 @@ msgid "Create the case lookup table" msgstr "Créer la table de recherche de cas" #: formshare/templates/dashboard/projects/snippets/no_forms.jinja2:22 -#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:44 -msgid "" -"You cannot add new forms while you have a case creator form in testing " -"stage." -msgstr "" -"Vous ne pouvez pas ajouter de nouveaux formulaires tant que vous disposez" -" d'un formulaire de création de cas en phase de test." +#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:47 +msgid "You cannot add new forms while you have a case creator form in testing stage." +msgstr "Vous ne pouvez pas ajouter de nouveaux formulaires tant que vous disposez d'un formulaire de création de cas en phase de test." #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:38 msgid "Anyone can see the list of forms within this project" @@ -5849,36 +5113,30 @@ msgid "Without abstract" msgstr "Sans résumé" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:67 -#| msgid "User list" msgid "See full list" msgstr "Voir la liste complète" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:88 -#| msgid "Click / Tap and hold to remove assistants" msgid "Click / Tap and hold to delete assistants" msgstr "Cliquez / Appuyez et maintenez pour effacer les assistants" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:90 msgid "This project has no assistants. Use the + button to add one" -msgstr "" -"Ce projet n’a pas d’assistants. Utilisez le bouton + pour en ajouter un" +msgstr "Ce projet n’a pas d’assistants. Utilisez le bouton + pour en ajouter un" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:100 msgid "more" msgstr "plus" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:103 -#| msgid "Change password" msgid "Edit items and change passwords" msgstr "Modifier les éléments et changer les mots de passe" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:124 -#| msgid "User list" msgid "See list" msgstr "Voir la liste" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:145 -#| msgid "Click / Tap and hold to remove groups" msgid "Click / Tap and hold to delete groups" msgstr "Cliquez / Appuyez et maintenez pour effacer les groupes" @@ -5956,21 +5214,13 @@ msgid "Icon" msgstr "Icône" #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:24 -msgid "" -"You will use this in ODK Collect to identify your project. Only the first" -" Emoji will be used." -msgstr "" -"Vous l'utiliserez dans ODK Collect pour identifier votre projet. Seul le " -"premier emoji sera utilisé" +msgid "You will use this in ODK Collect to identify your project. Only the first Emoji will be used." +msgstr "Vous l'utiliserez dans ODK Collect pour identifier votre projet. Seul le premier emoji sera utilisé" #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:36 #: formshare/templates/dashboard/projects/snippets/project_form_edit.jinja2:33 -msgid "" -"This should be the time zone where submissions happen. As a reference, " -"FormShare's time zone is " -msgstr "" -"Il doit s'agir du fuseau horaire dans lequel les soumissions sont faites." -" Pour référence, le fuseau horaire de FormShare est " +msgid "This should be the time zone where submissions happen. As a reference, FormShare's time zone is " +msgstr "Il doit s'agir du fuseau horaire dans lequel les soumissions sont faites. Pour référence, le fuseau horaire de FormShare est " #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:42 msgid "Abstract" @@ -5986,12 +5236,8 @@ msgid "Use a case/longitudinal workflow" msgstr "Utilisez un flux de travail longitudinal / de cas" #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:51 -msgid "" -"This means that the forms in this project and their submissions will be " -"related to cases." -msgstr "" -"Cela signifie que les formulaires et les soumissions de ce projet seront " -"liés à des cas." +msgid "This means that the forms in this project and their submissions will be related to cases." +msgstr "Cela signifie que les formulaires et les soumissions de ce projet seront liés à des cas." #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:51 msgid "Read more about longitudinal forms" @@ -6006,13 +5252,8 @@ msgid "Requires authentication to accept data" msgstr "L'authentification est nécessaire pour accepter les envois" #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:57 -msgid "" -"Uncheck if this project will allow crowdsourcing / public submissions. " -"Please note that this will apply to all forms within this project." -msgstr "" -"Décochez si ce projet permet une collaboration collective / des " -"soumissions publiques. Veuillez noter que cela s'appliquera à tous les " -"formulaires de ce projet." +msgid "Uncheck if this project will allow crowdsourcing / public submissions. Please note that this will apply to all forms within this project." +msgstr "Décochez si ce projet permet une collaboration collective / des soumissions publiques. Veuillez noter que cela s'appliquera à tous les formulaires de ce projet." #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:66 msgid "Add project" @@ -6023,53 +5264,35 @@ msgstr "Ajouter un projet" msgid "Read-only because the project has forms" msgstr "Lecture seule car le projet comporte des formulaires" -# | msgid "Create a repository to continue receiving submissions. The limit -# is" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:25 -msgid "" -"Create a repository to continue receiving submissions. \n" +msgid "Create a repository to continue receiving submissions. \n" "The limit is" -msgstr "" -"Créez un dépôt pour continuer à recevoir des soumissions. La limite est" +msgstr "Créez un dépôt pour continuer à recevoir des soumissions. La limite est" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:25 #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:27 msgid "Blocked" msgstr "Bloqué" -# | msgid "Create a repository to continue receiving cases. The limit is" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:27 -msgid "" -"Create a repository to continue receiving cases. \n" +msgid "Create a repository to continue receiving cases. \n" "The limit is" msgstr "Créez un référentiel pour continuer à recevoir des cas. La limite est" -# | msgid "" "You will need to create a repository soon to continue receiving -# " -# | "submissions. The limit is" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:34 -msgid "" -"You will need to create a repository soon to continue receiving " -"submissions. \n" +msgid "You will need to create a repository soon to continue receiving submissions. \n" "The limit is" -msgstr "" -"Vous devrez bientôt créer un dépôt pour continuer à recevoir des " -"soumissions. La limite est" +msgstr "Vous devrez bientôt créer un dépôt pour continuer à recevoir des soumissions. La limite est" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:34 #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:36 msgid "Near maximum" msgstr "Près de la limite" -# | msgid "" "You will need to create a repository soon to continue receiving -# | cases. " "The limit is" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:36 -msgid "" -"You will need to create a repository soon to continue receiving cases. \n" +msgid "You will need to create a repository soon to continue receiving cases. \n" "The limit is" -msgstr "" -"Vous devrez bientôt créer un référentiel pour continuer à recevoir des " -"cas. La limite est" +msgstr "Vous devrez bientôt créer un référentiel pour continuer à recevoir des cas. La limite est" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:52 #: formshare/templates/partner/snippets/odk_form_item.jinja2:23 @@ -6125,9 +5348,7 @@ msgstr "Total" #: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:38 msgid "Create the real-time CSV case file before adding new forms" -msgstr "" -"Créer un fichier CSV de cas en temps réel avant d'ajouter de nouveaux " -"formulaires" +msgstr "Créer un fichier CSV de cas en temps réel avant d'ajouter de nouveaux formulaires" #: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:41 msgid "View/edit the real-time CSV case file" @@ -6191,7 +5412,7 @@ msgstr "Ajouter un assistant" #: formshare/templates/dashboard/snippets/footer.jinja2:4 #: formshare/templates/generic/login.jinja2:83 -#: formshare/templates/landing/snippets/contact.jinja2:50 +#: formshare/templates/landing/snippets/contact.jinja2:53 msgid "Version" msgstr "Version" @@ -6265,9 +5486,7 @@ msgstr "Utilisateurs de FormShare" #: formshare/templates/dashboard/users/user_list.jinja2:37 msgid "As an administrator you can add and edit FormShare users" -msgstr "" -"En tant qu’administrateur, vous pouvez ajouter et modifier les " -"utilisateurs de FormShare" +msgstr "En tant qu’administrateur, vous pouvez ajouter et modifier les utilisateurs de FormShare" #: formshare/templates/dashboard/users/user_list.jinja2:53 msgid "Search for a user" @@ -6275,9 +5494,7 @@ msgstr "Rechercher un utilisateur" #: formshare/templates/dashboard/users/user_list.jinja2:54 msgid "You can search by username, full name or email address" -msgstr "" -"Vous pouvez effectuer une recherche par nom d’utilisateur, nom complet ou" -" adresse e-mail" +msgstr "Vous pouvez effectuer une recherche par nom d’utilisateur, nom complet ou adresse e-mail" #: formshare/templates/dashboard/users/snippets/brdcrbs_useradd.jinja2:2 msgid "Add new user" @@ -6294,9 +5511,7 @@ msgstr "Nom d'utilisateur" #: formshare/templates/dashboard/users/snippets/user_form.jinja2:6 msgid "The user name must be unique and cannot be changed afterwards" -msgstr "" -"Le nom d’utilisateur doit être unique et ne peut pas être changé par la " -"suite" +msgstr "Le nom d’utilisateur doit être unique et ne peut pas être changé par la suite" #: formshare/templates/dashboard/users/snippets/user_form.jinja2:37 msgid "Is super user" @@ -6326,8 +5541,7 @@ msgstr "vous ont demandé de collaborer avec le projet" #: formshare/templates/email/collaborate_email.jinja2:9 msgid "Go to the following URL to accept or decline the collaboration:" -msgstr "" -"Rendez-vous à l’URL suivante pour accepter ou refuser la collaboration :" +msgstr "Rendez-vous à l’URL suivante pour accepter ou refuser la collaboration :" #: formshare/templates/email/collaborate_email.jinja2:12 msgid "Please reply to" @@ -6367,14 +5581,8 @@ msgid "Go to this URL" msgstr "Aller à cette URL" #: formshare/templates/email/recover_email.jinja2:13 -msgid "" -"If you did not request us to reset your password then someone or " -"something is trying to get into our account. Please change your password " -"immediately!" -msgstr "" -"Si vous ne nous avez pas demandé de réinitialiser votre mot de passe, " -"c'est que quelqu'un ou quelque chose essaie d'accéder à votre compte. " -"Veuillez changer votre mot de passe immédiatement !" +msgid "If you did not request us to reset your password then someone or something is trying to get into our account. Please change your password immediately!" +msgstr "Si vous ne nous avez pas demandé de réinitialiser votre mot de passe, c'est que quelqu'un ou quelque chose essaie d'accéder à votre compte. Veuillez changer votre mot de passe immédiatement !" #: formshare/templates/email/token_email.jinja2:7 msgid "This email is a security alert" @@ -6382,25 +5590,16 @@ msgstr "Cet e-mail est une alerte de sécurité" #: formshare/templates/email/token_email.jinja2:8 msgid "A new API Token has been requested using you API key and secret" -msgstr "" -"Un nouveau jeton API a été demandé en utilisant votre clé et votre secret" -" API." +msgstr "Un nouveau jeton API a été demandé en utilisant votre clé et votre secret API." #: formshare/templates/email/token_email.jinja2:9 msgid "The token will expire on " msgstr "Le jeton expirera le " -# | msgid "" "If you did not generate a token then your account has been -# | compromised. " "Login into FormShare and change your API credentials -# | immediately!" #: formshare/templates/email/token_email.jinja2:11 -msgid "" -"If you did not generate a token then your account has been compromised.\n" +msgid "If you did not generate a token then your account has been compromised.\n" " Login into FormShare and change your API credentials immediately!" -msgstr "" -"Si vous n'avez pas généré de jeton, votre compte a été compromis. " -"Connectez-vous à FormShare et changez vos informations d'identification " -"API immédiatement." +msgstr "Si vous n'avez pas généré de jeton, votre compte a été compromis. Connectez-vous à FormShare et changez vos informations d'identification API immédiatement." #: formshare/templates/generic/403.jinja2:3 #: formshare/templates/generic/403.jinja2:15 @@ -6408,12 +5607,8 @@ msgid "Not authorized" msgstr "Vous n'êtes pas autorisé" #: formshare/templates/generic/403.jinja2:18 -msgid "" -"Your assistant account does not have sufficient permissions to view this " -"page." -msgstr "" -"Votre compte de participant ne dispose pas des autorisations suffisantes " -"pour afficher cette page." +msgid "Your assistant account does not have sufficient permissions to view this page." +msgstr "Votre compte de participant ne dispose pas des autorisations suffisantes pour afficher cette page." #: formshare/templates/generic/404.jinja2:3 #: formshare/templates/generic/404.jinja2:15 @@ -6421,12 +5616,8 @@ msgid "Page not found" msgstr "Page introuvable" #: formshare/templates/generic/404.jinja2:18 -msgid "" -"Sorry, but the page you are looking for has not been found. Try checking " -"the URL for errors." -msgstr "" -"Désolé, mais la page que vous recherchez n’a pas été trouvée. Essayez de " -"vérifier l’URL au sujet des erreurs." +msgid "Sorry, but the page you are looking for has not been found. Try checking the URL for errors." +msgstr "Désolé, mais la page que vous recherchez n’a pas été trouvée. Essayez de vérifier l’URL au sujet des erreurs." #: formshare/templates/generic/500.jinja2:3 msgid "Application error" @@ -6437,12 +5628,8 @@ msgid "Internal Server Error" msgstr "Erreur du serveur interne" #: formshare/templates/generic/500.jinja2:18 -msgid "" -"The server encountered an unexpected error and was not able to complete " -"your request." -msgstr "" -"Le serveur a rencontré une erreur inattendue et n’a pas été en mesure de " -"remplir votre demande." +msgid "The server encountered an unexpected error and was not able to complete your request." +msgstr "Le serveur a rencontré une erreur inattendue et n’a pas été en mesure de remplir votre demande." #: formshare/templates/generic/500.jinja2:19 msgid "If the problem persists, please report the issue at:" @@ -6514,12 +5701,8 @@ msgid "Your session has expired." msgstr "Votre session a expiré." #: formshare/templates/generic/refresh.jinja2:18 -msgid "" -"Don't worry, just go back and refresh the page to obtain a new secure " -"session." -msgstr "" -"Ne vous inquiétez pas, il suffit de revenir en arrière et rafraîchir la " -"page pour obtenir une nouvelle session sécurisée." +msgid "Don't worry, just go back and refresh the page to obtain a new secure session." +msgstr "Ne vous inquiétez pas, il suffit de revenir en arrière et rafraîchir la page pour obtenir une nouvelle session sécurisée." #: formshare/templates/generic/register.jinja2:3 #: formshare/templates/generic/register.jinja2:6 @@ -6531,12 +5714,8 @@ msgid "Address" msgstr "Adresse" #: formshare/templates/generic/register.jinja2:23 -msgid "" -"This is a simple name to identify you in FormShare. As an example, you " -"can use the first part of your email." -msgstr "" -"C'est un nom simple pour vous identifier dans FormShare. À titre " -"d'exemple, vous pouvez utiliser la première partie de votre courriel." +msgid "This is a simple name to identify you in FormShare. As an example, you can use the first part of your email." +msgstr "C'est un nom simple pour vous identifier dans FormShare. À titre d'exemple, vous pouvez utiliser la première partie de votre courriel." #: formshare/templates/generic/register.jinja2:36 msgid "Create an account" @@ -6576,23 +5755,15 @@ msgstr "Contactez-nous" #: formshare/templates/landing/snippets/contact.jinja2:8 msgid "If you have questions, please drop us an email or a Github issue" -msgstr "" -"Si vous avez des questions, veuillez nous laisser un e-mail ou un " -"problème Github" +msgstr "Si vous avez des questions, veuillez nous laisser un e-mail ou un problème Github" #: formshare/templates/landing/snippets/contact.jinja2:19 msgid "P" msgstr "P" #: formshare/templates/landing/snippets/contact.jinja2:26 -msgid "" -"This service is free for now however this could change in the future and " -"you might need to pay a fee and accept a Terms of Service and Privacy " -"policy" -msgstr "" -"Ce service est gratuit pour l’instant mais cela pourrait changer à " -"l’avenir et vous pourriez avoir besoin de payer des frais et d’accepter " -"des conditions générales et une politique de confidentialité" +msgid "This service is free for now however this could change in the future and you might need to pay a fee and accept a Terms of Service and Privacy policy" +msgstr "Ce service est gratuit pour l’instant mais cela pourrait changer à l’avenir et vous pourriez avoir besoin de payer des frais et d’accepter des conditions générales et une politique de confidentialité" #: formshare/templates/landing/snippets/contact.jinja2:34 msgid "Send us an email" @@ -6602,6 +5773,10 @@ msgstr "Envoyez-nous un e-mail" msgid "Or follow us on social media" msgstr "Ou suivez-nous sur les réseaux sociaux" +#: formshare/templates/landing/snippets/contact.jinja2:57 +msgid "FormShare, the FormShare logo, and the slogan \"Centralize data – Decentralize knowledge\" are either registered trademarks or trademarks of QLands Technology Consultants. All other products, logos, or name brands are trademarks of their respective holders, including QLands Technology Consultants." +msgstr "FormShare, le logo FormShare et le slogan \"Centralize data - Decentralize knowledge\" sont des marques déposées ou des marques commerciales de QLands Technology Consultants. Tous les autres produits, logos ou marques sont des marques commerciales ou des marques déposées de leurs propriétaires respectifs, y compris QLands Technology Consultants." + #: formshare/templates/landing/snippets/features2.jinja2:5 msgid "Centralize" msgstr "Centraliser" @@ -6623,12 +5798,8 @@ msgid "Centralize data" msgstr "Centraliser les données" #: formshare/templates/landing/snippets/features2.jinja2:13 -msgid "" -"Store your data in a consistent way inside a relational database without " -"duplicates or inconsistencies" -msgstr "" -"Stockez vos données de manière cohérente à l’intérieur d’une base de " -"données relationnelle sans doublons ni incohérences" +msgid "Store your data in a consistent way inside a relational database without duplicates or inconsistencies" +msgstr "Stockez vos données de manière cohérente à l’intérieur d’une base de données relationnelle sans doublons ni incohérences" #: formshare/templates/landing/snippets/features2.jinja2:17 msgid "Complete mobile support" @@ -6636,33 +5807,23 @@ msgstr "Prise en charge mobile complète" #: formshare/templates/landing/snippets/features2.jinja2:18 msgid "FormShare supports data collection technologies like" -msgstr "" -"FormShare prend en charge des technologies de collecte de données comme" +msgstr "FormShare prend en charge des technologies de collecte de données comme" #: formshare/templates/landing/snippets/features2.jinja2:27 msgid "Decentralize data access" msgstr "Décentraliser l’accès aux données" #: formshare/templates/landing/snippets/features2.jinja2:28 -msgid "" -"Create collaborations around data and allow access from any location " -"using common tools like Excel, STATA or R" -msgstr "" -"Créer des collaborations autour des données et permettre l’accès à partir" -" de n’importe quel endroit à l’aide d’outils communs comme Excel, STATA " -"ou R" +msgid "Create collaborations around data and allow access from any location using common tools like Excel, STATA or R" +msgstr "Créer des collaborations autour des données et permettre l’accès à partir de n’importe quel endroit à l’aide d’outils communs comme Excel, STATA ou R" #: formshare/templates/landing/snippets/features2.jinja2:32 msgid "Track changes" msgstr "Suivre les changements" #: formshare/templates/landing/snippets/features2.jinja2:33 -msgid "" -"Browse through your data online and track and manage the changes made to " -"it" -msgstr "" -"Parcourez vos données en ligne, suivez et gérez les modifications " -"apportées à ces données" +msgid "Browse through your data online and track and manage the changes made to it" +msgstr "Parcourez vos données en ligne, suivez et gérez les modifications apportées à ces données" #: formshare/templates/landing/snippets/header.jinja2:76 #: formshare/templates/partner/snippets/header.jinja2:4 @@ -6678,12 +5839,8 @@ msgid "This is a free* service provided by" msgstr "Il s’agit d’un service gratuit fourni par" #: formshare/templates/landing/snippets/pricing.jinja2:112 -msgid "" -"This could change in the future depending on the storage and processing " -"demand." -msgstr "" -"Cela pourrait changer à l’avenir en fonction de la demande de stockage et" -" de traitement." +msgid "This could change in the future depending on the storage and processing demand." +msgstr "Cela pourrait changer à l’avenir en fonction de la demande de stockage et de traitement." #: formshare/templates/landing/snippets/slider.jinja2:14 msgid "Welcome to" @@ -6691,8 +5848,7 @@ msgstr "Bienvenue sur" #: formshare/templates/landing/snippets/slider.jinja2:15 msgid "The data management platform for mobile data collection" -msgstr "" -"La plate-forme de gestion des données pour la collecte de données mobiles" +msgstr "La plate-forme de gestion des données pour la collecte de données mobiles" #: formshare/templates/landing/snippets/slider.jinja2:31 msgid "Built with" @@ -6708,9 +5864,7 @@ msgstr "FormShare combine des technologies comme" #: formshare/templates/landing/snippets/slider.jinja2:32 msgid "to give you the best experience collecting and managing mobile data" -msgstr "" -"pour vous donner la meilleure expérience de collecte et de gestion des " -"données mobiles" +msgstr "pour vous donner la meilleure expérience de collecte et de gestion des données mobiles" #: formshare/templates/landing/snippets/slider.jinja2:48 msgid "Next" @@ -6752,88 +5906,130 @@ msgstr "Créé le" msgid "This is the latest export of this product" msgstr "Il s’agit de la dernière exportation de ce produit" -#: formshare/views/assistant_groups.py:89 +#: formshare/views/assistant_groups.py:88 msgid "The group was added to this project" msgstr "Le groupe a été ajouté à ce projet" -#: formshare/views/assistant_groups.py:96 -#: formshare/views/assistant_groups.py:160 +#: formshare/views/assistant_groups.py:95 formshare/views/assistant_groups.py:159 msgid "You need to specify a name" msgstr "Vous devez spécifier un nom" -#: formshare/views/assistant_groups.py:153 +#: formshare/views/assistant_groups.py:152 msgid "The group was edited successfully" msgstr "Le groupe a été édité avec succès" -#: formshare/views/assistant_groups.py:200 -#: formshare/views/assistant_groups.py:328 +#: formshare/views/assistant_groups.py:199 formshare/views/assistant_groups.py:326 msgid "The group was deleted successfully" msgstr "Le groupe a été supprimé avec succès" -#: formshare/views/assistant_groups.py:204 -#: formshare/views/assistant_groups.py:332 +#: formshare/views/assistant_groups.py:203 formshare/views/assistant_groups.py:330 msgid "Unable to delete the group: " msgstr "Impossible de supprimer le groupe : " -#: formshare/views/assistant_groups.py:275 formshare/views/form.py:2143 +#: formshare/views/assistant_groups.py:273 formshare/views/form.py:2143 msgid "The assistant was added successfully" msgstr "L’assistant a été ajouté avec succès" -#: formshare/views/assistant_groups.py:283 -#| msgid "You need to specify an assistant" +#: formshare/views/assistant_groups.py:281 msgid "You need to specify assistants" msgstr "Vous devez spécifier les participants" -#: formshare/views/assistants.py:131 +#: formshare/views/assistants.py:148 msgid "The assistant was added to this project" msgstr "L’assistant a été ajouté à ce projet" -#: formshare/views/assistant_views/forms.py:148 -#: formshare/views/assistants.py:141 formshare/views/assistants.py:414 -#: formshare/views/basic_views.py:303 formshare/views/basic_views.py:758 -#: formshare/views/partner_views/forms.py:119 formshare/views/partners.py:276 -#: formshare/views/partners.py:473 formshare/views/users.py:226 -#: formshare/views/users.py:392 +#: formshare/views/assistant_views/forms.py:148 formshare/views/assistants.py:158 +#: formshare/views/assistants.py:437 formshare/views/basic_views.py:303 +#: formshare/views/basic_views.py:758 formshare/views/partner_views/forms.py:119 +#: formshare/views/partners.py:276 formshare/views/partners.py:473 +#: formshare/views/users.py:226 formshare/views/users.py:392 msgid "The password cannot be empty" msgstr "Le mot de passe ne peut pas être vide" -#: formshare/views/assistant_views/forms.py:144 -#: formshare/views/assistants.py:145 formshare/views/assistants.py:405 -#: formshare/views/basic_views.py:738 +#: formshare/views/assistant_views/forms.py:144 formshare/views/assistants.py:162 +#: formshare/views/assistants.py:428 formshare/views/basic_views.py:738 #: formshare/views/partner_views/forms.py:115 formshare/views/partners.py:271 #: formshare/views/partners.py:470 formshare/views/users.py:223 #: formshare/views/users.py:387 msgid "The password and its confirmation are not the same" msgstr "Le mot de passe et sa confirmation ne sont pas les mêmes" -#: formshare/views/assistants.py:149 formshare/views/basic_views.py:749 -#: formshare/views/users.py:397 -msgid "The user id has invalid characters. Only underscore and dot are allowed" -msgstr "" -"L'identifiant de l'utilisateur comporte des caractères non valides. Seuls" -" le trait de soulignement et le point sont autorisés" +#: formshare/views/assistants.py:168 +msgid "The assistant id has invalid characters. Only underscore is allowed" +msgstr "L'identifiant de l'assistant contient des caractères non valides. Seul le trait de soulignement est autorisé" + +#: formshare/views/assistants.py:175 +msgid "You need to specify an assistant name" +msgstr "Vous devez spécifier un nom d'assistant" -#: formshare/views/assistants.py:155 -msgid "You need to specify a user id" -msgstr "Vous devez spécifier un identifiant d'utilisateur" +#: formshare/views/assistants.py:178 +msgid "You need to specify an assistant id" +msgstr "Vous devez spécifier un identifiant de participant" -#: formshare/views/assistants.py:237 +#: formshare/views/assistants.py:260 msgid "The assistant was edited successfully" msgstr "L’assistant a été modifié avec succès" -#: formshare/views/assistants.py:303 +#: formshare/views/assistants.py:326 msgid "The assistant was deleted successfully" msgstr "L’assistant a été supprimé avec succès" -#: formshare/views/assistants.py:379 +#: formshare/views/assistants.py:402 msgid "The password was changed successfully" msgstr "Le mot de passe a été modifié avec succès" -#: formshare/views/assistant_views/forms.py:132 -#: formshare/views/assistants.py:388 formshare/views/partner_views/forms.py:102 +#: formshare/views/assistant_views/forms.py:132 formshare/views/assistants.py:411 +#: formshare/views/partner_views/forms.py:102 msgid "Unable to change the password: " msgstr "Impossible de modifier le mot de passe : " +#: formshare/views/assistants.py:566 formshare/views/form.py:1890 +#: formshare/views/form.py:1897 formshare/views/projects.py:586 +#: formshare/views/projects.py:593 +msgid "Error {} encountered. A log entry has been produced" +msgstr "Erreur {} survenue. Une entrée de journal a été produite" + +#: formshare/views/assistants.py:581 +msgid "The CSV must have the following columns:" +msgstr "Le fichier CSV doit comporter les colonnes suivantes :" + +#: formshare/views/assistants.py:589 +msgid "The assistant with id = \"{}\" is invalid. Only _ is allowed" +msgstr "L'assistant avec id = \"{}\" n'est pas valide. Seul _ est autorisé." + +#: formshare/views/assistants.py:597 +msgid "The assistant with id = {} has empty coll_name" +msgstr "Wizard with id = {} has empty coll_name" + +#: formshare/views/assistants.py:605 +msgid "The assistant with id = {} has empty coll_password" +msgstr "L'assistant avec id = {} a un coll_password vide" + +#: formshare/views/assistants.py:618 +msgid "The assistant with id = {} has an invalid email" +msgstr "L'adresse électronique du participant dont l'identifiant est {} n'est pas valide." + +#: formshare/views/assistants.py:629 +msgid "The assistant with id = {} has an invalid telephone" +msgstr "L'adresse électronique du participant dont l'identifiant est {} n'est pas valide." + +#: formshare/views/assistants.py:641 +msgid "The assistant with id = {} is already part of your account. You do not need to duplicate assistants, just mark them as \"Share among projects\" to use them across projects." +msgstr "L'assistant avec id = {} fait déjà partie de votre compte. Il n'est pas nécessaire de dupliquer les assistants, il suffit de les marquer comme \"Partager entre les projets\" pour les utiliser dans tous les projets." + +#: formshare/views/assistants.py:694 +msgid "Your file has assistants with duplicated ids." +msgstr "Votre fichier contient des assistants avec des identifiants en double." + +#: formshare/views/assistants.py:702 +msgid "Unknown error. A log entry has been created" +msgstr "Erreur inconnue. Une entrée dans le journal des erreurs techniques a été créée." + +#: formshare/views/assistants.py:706 formshare/views/form.py:1903 +#: formshare/views/projects.py:600 +msgid "The file was uploaded successfully" +msgstr "Fichier téléchargé avec succès" + #: formshare/views/basic_views.py:297 msgid "The password and the confirmation are not the same" msgstr "Le mot de passe et la confirmation ne sont pas les mêmes" @@ -6870,6 +6066,10 @@ msgstr "Le compte partenaire n'existe pas ou le mot de passe n'est pas valide" msgid "The password must be less than 50 characters" msgstr "Le mot de passe doit être inférieur à 50 caractères" +#: formshare/views/basic_views.py:749 formshare/views/users.py:397 +msgid "The user id has invalid characters. Only underscore and dot are allowed" +msgstr "L'identifiant de l'utilisateur comporte des caractères non valides. Seuls le trait de soulignement et le point sont autorisés" + #: formshare/views/api/version_1/tokens.py:143 formshare/views/classes.py:610 #: formshare/views/classes.py:625 formshare/views/classes.py:989 #: formshare/views/classes.py:1004 @@ -6893,12 +6093,8 @@ msgid "The collaborator was added to this project" msgstr "Le collaborateur a été ajouté à ce projet" #: formshare/views/collaborators.py:110 -msgid "" -"The collaborator was added to this project. However, an email has been " -"sent to him/her/they to accept the collaboration" -msgstr "" -"Le collaborateur a été ajouté à ce projet. Toutefois, un courriel lui a " -"été envoyé pour qu’il accepte la collaboration" +msgid "The collaborator was added to this project. However, an email has been sent to him/her/they to accept the collaboration" +msgstr "Le collaborateur a été ajouté à ce projet. Toutefois, un courriel lui a été envoyé pour qu’il accepte la collaboration" #: formshare/views/collaborators.py:130 msgid "This collaborator does not exist or is inactive" @@ -6937,86 +6133,51 @@ msgid "Unable to decline the collaboration: " msgstr "Impossible de refuser la collaboration : " #: formshare/views/form.py:310 formshare/views/repository_merge.py:143 -msgid "" -"The repeat \"{}\" changed parent from \"{}\" to \"{}\". You must rename " -"the repeat before merging" -msgstr "" -"La répétition \"{}\" a changé de parent de \"{}\" à \"{}\". Vous devez " -"renommer la répétition avant de fusionner" +msgid "The repeat \"{}\" changed parent from \"{}\" to \"{}\". You must rename the repeat before merging" +msgstr "La répétition \"{}\" a changé de parent de \"{}\" à \"{}\". Vous devez renommer la répétition avant de fusionner" #: formshare/views/form.py:323 formshare/views/repository_merge.py:156 -msgid "" -"The parent repeat \"{}\" of repeat \"{}\" does not exist anymore. You " -"must rename the repeat \"{}\" before merging" -msgstr "" -"La répétition parent \"{}\"de la répétition \"{}\" n’existe plus. Vous " -"devez renommer la répétition \"{}\" avant de fusionner" +msgid "The parent repeat \"{}\" of repeat \"{}\" does not exist anymore. You must rename the repeat \"{}\" before merging" +msgstr "La répétition parent \"{}\"de la répétition \"{}\" n’existe plus. Vous devez renommer la répétition \"{}\" avant de fusionner" #: formshare/views/form.py:335 -msgid "" -"The variable \"{}\" in repeat \"{}\" changed type. You must rename the " -"variable before merging." -msgstr "" -"La variable \"{}\" dans la répétition \"{}\" a changé de type. Vous devez" -" renommer la variable avant de fusionner." +msgid "The variable \"{}\" in repeat \"{}\" changed type. You must rename the variable before merging." +msgstr "La variable \"{}\" dans la répétition \"{}\" a changé de type. Vous devez renommer la variable avant de fusionner." #: formshare/views/form.py:347 -msgid "" -"The variable \"{}\" in repeat \"{}\" has a different choice list name. " -"You must rename the variable before merging. " -msgstr "" -"La variable \"{}\" dans la répétition \"{}\" a un nom de liste de choix " -"différent. Vous devez renommer la variable avant de fusionner. " +msgid "The variable \"{}\" in repeat \"{}\" has a different choice list name. You must rename the variable before merging. " +msgstr "La variable \"{}\" dans la répétition \"{}\" a un nom de liste de choix différent. Vous devez renommer la variable avant de fusionner. " #: formshare/views/form.py:370 formshare/views/repository_merge.py:212 -msgid "" -"Unknown error while merging. A message has been sent to the support team " -"and they will contact you ASAP." -msgstr "" -"Erreur inconnue lors de la fusion. Un message a été envoyé à l’équipe " -"d'assistance et ils vous contacteront dès que possible." +msgid "Unknown error while merging. A message has been sent to the support team and they will contact you ASAP." +msgstr "Erreur inconnue lors de la fusion. Un message a été envoyé à l’équipe d'assistance et ils vous contacteront dès que possible." #: formshare/views/form.py:383 formshare/views/form.py:394 #: formshare/views/form.py:405 formshare/views/form.py:416 #: formshare/views/form.py:452 formshare/views/form.py:659 #: formshare/views/form.py:670 formshare/views/form.py:681 -msgid "" -"An unexpected error occurred while processing the merge. An email has " -"been sent to the technical team and they will contact you ASAP." -msgstr "" -"Une erreur inattendue s’est produite lors du traitement de la fusion. Un " -"e-mail a été envoyé à l’équipe technique et ils vous contacteront dès que" -" possible." +msgid "An unexpected error occurred while processing the merge. An email has been sent to the technical team and they will contact you ASAP." +msgstr "Une erreur inattendue s’est produite lors du traitement de la fusion. Un e-mail a été envoyé à l’équipe technique et ils vous contacteront dès que possible." #: formshare/views/form.py:424 -msgid "" -"This new version of the form has multiple languages when the previous one" -" did not.\n" +msgid "This new version of the form has multiple languages when the previous one did not.\n" "\n" -"Use the \"Fix language\" button to set the languages in this version of " -"the ODK Form." -msgstr "" -"Cette nouvelle version du formulaire a plusieurs langues alors que la " -"précédente n'en a pas.\n" +"Use the \"Fix language\" button to set the languages in this version of the ODK Form." +msgstr "Cette nouvelle version du formulaire a plusieurs langues alors que la précédente n'en a pas.\n" "\n" -"Utilisez le bouton \"Corriger la langue\" pour définir les langues dans " -"cette version du formulaire ODK." +"Utilisez le bouton \"Corriger la langue\" pour définir les langues dans cette version du formulaire ODK." #: formshare/views/form.py:433 -msgid "" -"This version of the ODK Form differs in the languages used. The following" -" languages are undefined:\n" +msgid "This version of the ODK Form differs in the languages used. The following languages are undefined:\n" "\n" -msgstr "" -"Cette version du formulaire ODK diffère dans les langues utilisées. Les " -"langues suivantes ne sont pas définies : \n" +"" +msgstr "Cette version du formulaire ODK diffère dans les langues utilisées. Les langues suivantes ne sont pas définies : \n" "\n" +"" #: formshare/views/form.py:576 formshare/views/repository.py:478 msgid "The primary key was not found in the ODK form or is inside a repeat" -msgstr "" -"La clé primaire n'a pas été trouvée dans le formulaire ODK ou se trouve " -"dans une \"répétition\"" +msgstr "La clé primaire n'a pas été trouvée dans le formulaire ODK ou se trouve dans une \"répétition\"" #: formshare/views/form.py:584 formshare/views/form.py:606 msgid "The following files are missing and you need to attach them:" @@ -7024,46 +6185,23 @@ msgstr "Les fichiers suivants sont manquants et vous devez les joindre :" #: formshare/views/form.py:591 msgid "There was an error while processing some of the XML resource files:" -msgstr "" -"Il y a eu une erreur lors du traitement de certains fichiers de " -"ressources XML :" +msgstr "Il y a eu une erreur lors du traitement de certains fichiers de ressources XML :" #: formshare/views/form.py:614 msgid "The following CSV resource files have invalid characters:" -msgstr "" -"Les fichiers de ressources CSV suivants ont des caractères incorrects :" +msgstr "Les fichiers de ressources CSV suivants ont des caractères incorrects :" #: formshare/views/form.py:621 msgid "There was an error while processing some of the CSV resource files:" -msgstr "" -"Il y a eu une erreur lors du traitement de certains fichiers de " -"ressources CSV :" +msgstr "Il y a eu une erreur lors du traitement de certains fichiers de ressources CSV :" #: formshare/views/form.py:638 -msgid "" -"An unexpected error occurred while processing the search expression. An " -"email has been sent to the technical team and they will contact you ASAP." -msgstr "" -"Une erreur inattendue s'est produite lors du traitement de l'expression " -"de recherche. Un e-mail a été envoyé à l'équipe technique qui vous " -"répondra dans les plus brefs délais." +msgid "An unexpected error occurred while processing the search expression. An email has been sent to the technical team and they will contact you ASAP." +msgstr "Une erreur inattendue s'est produite lors du traitement de l'expression de recherche. Un e-mail a été envoyé à l'équipe technique qui vous répondra dans les plus brefs délais." #: formshare/views/form.py:646 -#| msgid "" "The variable to control duplicate submissions has an invalid type. -#| E.g., " "the variable cannot be note, picture, video, sound, -#| select_multiple, or " "geo-spacial. The most appropriate types are text, -#| datetime, barcode, " "calculate, select_one, or integer." -msgid "" -"The variable to control duplicate submissions has an invalid type. E.g., " -"the variable cannot be note, picture, video, sound, select_multiple, or " -"geo-spacial. It cannot be instanceID. The most appropriate types are " -"text, datetime, barcode, calculate, select_one, or integer." -msgstr "" -"La variable pour contrôler les soumissions en double a un type invalide. Par" -" exemple, la variable ne peut pas être note, image, vidéo, son," -" select_multiple ou géospatiale. Il ne peut pas s'agir de \"instanceID\". Les" -" types les plus appropriés sont le texte, la date et l'heure, le code-barres," -" le calcul, le select_one ou le nombre entier." +msgid "The variable to control duplicate submissions has an invalid type. E.g., the variable cannot be note, picture, video, sound, select_multiple, or geo-spacial. It cannot be instanceID. The most appropriate types are text, datetime, barcode, calculate, select_one, or integer." +msgstr "La variable pour contrôler les soumissions en double a un type invalide. Par exemple, la variable ne peut pas être note, image, vidéo, son, select_multiple ou géospatiale. Il ne peut pas s'agir de \"instanceID\". Les types les plus appropriés sont le texte, la date et l'heure, le code-barres, le calcul, le select_one ou le nombre entier." #: formshare/views/form.py:689 msgid "The following choices are duplicated in your ODK:" @@ -7082,12 +6220,8 @@ msgid "You need to indicate a variable for labeling the cases" msgstr "Vous devez indiquer une variable pour étiqueter les cas" #: formshare/views/form.py:1064 formshare/views/form.py:1278 -msgid "" -"The labeling variable and the variable to identify each case cannot be " -"the same" -msgstr "" -"La variable pour étiqueter les observations et la variable pour les " -"identifier ne peuvent pas être les mêmes" +msgid "The labeling variable and the variable to identify each case cannot be the same" +msgstr "La variable pour étiqueter les observations et la variable pour les identifier ne peuvent pas être les mêmes" #: formshare/views/form.py:1080 formshare/views/form.py:1292 msgid "You need to indicate a type of case form" @@ -7095,30 +6229,19 @@ msgstr "Vous devez indiquer le type de formulaire de cas" #: formshare/views/form.py:1094 formshare/views/form.py:1305 msgid "You need to indicate a variable for searching and selecting cases" -msgstr "" -"Vous devez indiquer la variable pour rechercher et sélectionner les cas" +msgstr "Vous devez indiquer la variable pour rechercher et sélectionner les cas" #: formshare/views/form.py:1111 formshare/views/form.py:1319 -msgid "" -"The variable for searching and selecting cases cannot be the same as the " -"primary key" -msgstr "" -"La variable pour rechercher et sélectionner des observations ne peut pas " -"être la même que la clé primaire" +msgid "The variable for searching and selecting cases cannot be the same as the primary key" +msgstr "La variable pour rechercher et sélectionner des observations ne peut pas être la même que la clé primaire" #: formshare/views/form.py:1129 formshare/views/form.py:1335 msgid "You need to indicate a variable that records date or date and time" -msgstr "" -"Vous devez indiquer une variable qui stocke une date ou une date et une " -"heure" +msgstr "Vous devez indiquer une variable qui stocke une date ou une date et une heure" #: formshare/views/form.py:1148 formshare/views/form.py:1352 -msgid "" -"The variable for recording a date or a date and time cannot be the same " -"as the primary key or the case selector variable" -msgstr "" -"La variable pour enregistrer une date ou une date et une heure ne peut " -"pas être la même que la clé primaire ou la variable de sélection de cas" +msgid "The variable for recording a date or a date and time cannot be the same as the primary key or the case selector variable" +msgstr "La variable pour enregistrer une date ou une date et une heure ne peut pas être la même que la clé primaire ou la variable de sélection de cas" #: formshare/views/form.py:1179 msgid "The form was added successfully" @@ -7156,24 +6279,13 @@ msgstr "Le formulaire a été désactivé avec succès" msgid "No files were attached" msgstr "Aucun fichier n’a été joint" -#: formshare/views/form.py:1890 formshare/views/form.py:1897 -#: formshare/views/projects.py:586 formshare/views/projects.py:593 -msgid "Error {} encountered. A log entry has been produced" -msgstr "Erreur {} survenue. Une entrée de journal a été produite" - -#: formshare/views/form.py:1903 formshare/views/projects.py:600 -msgid "The file was uploaded successfully" -msgstr "Fichier téléchargé avec succès" - #: formshare/views/form.py:1907 formshare/views/projects.py:604 msgid "The files were uploaded successfully" msgstr "Les fichiers ont été téléchargés avec succès" #: formshare/views/form.py:1962 msgid "You cannot remove this file because it is required by the repository" -msgstr "" -"Vous ne pouvez pas supprimer ce fichier parce qu’il est requis par le " -"référentiel" +msgstr "Vous ne pouvez pas supprimer ce fichier parce qu’il est requis par le référentiel" #: formshare/views/form.py:1986 msgid "The files was removed successfully" @@ -7225,9 +6337,7 @@ msgstr "L'alias n'est pas valide" #: formshare/views/form.py:3799 msgid "The alias has invalid characters. Only underscore (_) is allowed" -msgstr "" -"L'alias contient des caractères incorrects. Seul le soulignement (_) est " -"autorisé" +msgstr "L'alias contient des caractères incorrects. Seul le soulignement (_) est autorisé" #: formshare/views/form.py:3885 formshare/views/form.py:3897 #: formshare/views/form.py:4007 formshare/views/form.py:4017 @@ -7303,12 +6413,8 @@ msgid "The password for {} was modified" msgstr "Le mot de passe pour {} a été modifié" #: formshare/views/partners.py:507 -msgid "" -"This partner was created by {0} ({1}). Only {0} or and administrator can " -"delete it" -msgstr "" -"Ce partenaire a été créé par {0} ({1}). Seul {0} ou un administrateur " -"peut le supprimer" +msgid "This partner was created by {0} ({1}). Only {0} or and administrator can delete it" +msgstr "Ce partenaire a été créé par {0} ({1}). Seul {0} ou un administrateur peut le supprimer" #: formshare/views/partners.py:551 msgid "The partner has been deleted" @@ -7342,12 +6448,10 @@ msgstr "Vous devez spécifier un nouveau mot de passe" msgid "You need to specify the old password" msgstr "Vous devez spécifier l’ancien mot de passe" -# | msgid "The user has been updated" #: formshare/views/profile.py:152 msgid "The key and secret has been updated" msgstr "La clé et le mot de passe ont été mis à jour" -# | msgid "You need to specify an assistant" #: formshare/views/profile.py:160 msgid "You need to specify the an API key and secret" msgstr "Il est nécessaire de spécifier la clé et le mot de passe de l'API." @@ -7358,9 +6462,7 @@ msgstr "Le projet a été créé" #: formshare/views/projects.py:295 msgid "The project code has invalid characters. Only underscore (_) is allowed" -msgstr "" -"Le code du projet a des caractères incorrects. Seul le soulignement (_) " -"est autorisé" +msgstr "Le code du projet a des caractères incorrects. Seul le soulignement (_) est autorisé" #: formshare/views/projects.py:300 msgid "The project code cannot be empty" @@ -7423,20 +6525,12 @@ msgid "FormShare is merging the form." msgstr "FormShare fusionne le formulaire." #: formshare/views/repository_merge.py:170 -msgid "" -"The field \"{}\" in table \"{}\" changed type. You must rename the field " -"before merging." -msgstr "" -"Le champ \"{}\" dans le tableau \"{}\" a changé de type. Vous devez " -"renommer le champ avant de fusionner." +msgid "The field \"{}\" in table \"{}\" changed type. You must rename the field before merging." +msgstr "Le champ \"{}\" dans le tableau \"{}\" a changé de type. Vous devez renommer le champ avant de fusionner." #: formshare/views/repository_merge.py:185 -msgid "" -"The option \"{}\" in lookup table \"{}\" changed description from \"{}\" " -"to \"{}\"." -msgstr "" -"L’option \"{}\" dans le tableau de recherche \"{}\" a changé la " -"description de \"{}\" à \"{}\"." +msgid "The option \"{}\" in lookup table \"{}\" changed description from \"{}\" to \"{}\"." +msgstr "L’option \"{}\" dans le tableau de recherche \"{}\" a changé la description de \"{}\" à \"{}\"." #: formshare/views/repository_merge.py:198 msgid "The field \"{}\" in table \"{}\" changed relationship" @@ -7463,12 +6557,8 @@ msgid "Cannot find an assistant with such API key" msgstr "Impossible de trouver un assistant connecté à cette clé API" #: formshare/views/repository_submissions.py:527 -msgid "" -"This API key don't have permission to clean the form associated with the " -"indicated Row ID" -msgstr "" -"Cette clé API n'a pas les autorisations pour nettoyer les données " -"associées au rowuuid" +msgid "This API key don't have permission to clean the form associated with the indicated Row ID" +msgstr "Cette clé API n'a pas les autorisations pour nettoyer les données associées au rowuuid" #: formshare/views/repository_submissions.py:543 msgid "Update completed" @@ -7495,27 +6585,18 @@ msgid "Tokens can only be requested by POST." msgstr "Les jetons ne peuvent être demandés que par POST." #: formshare/views/api/version_1/tokens.py:88 -msgid "" -"Your account does not have an API secret. Go to your profile and set an " -"API secret" -msgstr "" -"Votre compte ne dispose pas d'un mot de passe API. Allez dans votre " -"profil et définissez un mot de passe API" +msgid "Your account does not have an API secret. Go to your profile and set an API secret" +msgstr "Votre compte ne dispose pas d'un mot de passe API. Allez dans votre profil et définissez un mot de passe API" #: formshare/views/api/version_1/tokens.py:156 -msgid "" -"You need to indicate an API key (X-API-Key) and an API Secret (X-API-" -"Secret)." -msgstr "" -"Vous devez spécifier une clé API (X-API-Key) et un secret API (X-API-" -"Secret)." +msgid "You need to indicate an API key (X-API-Key) and an API Secret (X-API-Secret)." +msgstr "Vous devez spécifier une clé API (X-API-Key) et un secret API (X-API-Secret)." #: formshare/views/assistant_views/forms.py:140 #: formshare/views/partner_views/forms.py:111 msgid "The old password is not correct" msgstr "L’ancien mot de passe n’est pas correct" -# | msgid "Unable to change the key: " #: formshare/views/assistant_views/forms.py:179 msgid "Unable to change the key. No API key and secret" msgstr "Impossible de changer la clé. Pas de clé et de mot de passe API" @@ -7532,12 +6613,8 @@ msgstr "Le fuseau horaire n'a pas pu être modifié: " #: formshare/views/assistant_views/jsonlogs.py:190 #: formshare/views/assistant_views/jsonlogs.py:851 -msgid "" -"An error occurred while comparing the files. Sorry for this. Please post " -"the below error as an issue in " -msgstr "" -"Une erreur s’est produite en comparant les fichiers. Désolé pour ça. " -"Merci de poster l’erreur ci-dessous en tant que problème dans " +msgid "An error occurred while comparing the files. Sorry for this. Please post the below error as an issue in " +msgstr "Une erreur s’est produite en comparant les fichiers. Désolé pour ça. Merci de poster l’erreur ci-dessous en tant que problème dans " #: formshare/views/assistant_views/jsonlogs.py:204 msgid "The submission ID does not exist" @@ -7561,46 +6638,9 @@ msgstr "Le nouveau fichier doit avoir le même nom que la demande" #: formshare/views/assistant_views/jsonlogs.py:737 msgid "You need to provide an explanation when disregarding an error" -msgstr "" -"Vous devez fournir une explication lorsque vous ne tenez pas compte d’une" -" erreur" +msgstr "Vous devez fournir une explication lorsque vous ne tenez pas compte d’une erreur" #: formshare/views/assistant_views/jsonlogs.py:805 msgid "You need to provide an explanation when canceling a disregard" -msgstr "" -"Vous devez fournir une explication lors de l’annulation d’une non-prise " -"en compte" - -#~ msgid "Never share your API key" -#~ msgstr "Ne partagez jamais votre clé API" - -#~ msgid "Never share your API secret" -#~ msgstr "Ne partagez jamais votre secret API" - -#~ msgid "API Download" -#~ msgstr "Téléchargement API" - -#~ msgid "You need to provide a password" -#~ msgstr "Vous devez fournir un mot de passe" - -#~ msgid "This API key does not exist or is inactive" -#~ msgstr "Cette clé API n’existe pas ou est inactive" - -#~ msgid "You need to specify an API key" -#~ msgstr "Vous devez spécifier une clé API" - -#~ msgid "You are not authorized to modify this project" -#~ msgstr "Vous n’êtes pas autorisé à modifier ce projet" - -#~ msgid "The form does not exist" -#~ msgstr "Le formulaire n’existe pas" - -#~ msgid "You did not attach any file" -#~ msgstr "Vous n’avez joint aucun fichier" - -#~ msgid "The file was uploaded" -#~ msgstr "Le fichier a été téléchargé" - -#~ msgid "And" -#~ msgstr "Et" +msgstr "Vous devez fournir une explication lors de l’annulation d’une non-prise en compte" diff --git a/formshare/locale/pt/LC_MESSAGES/formshare.po b/formshare/locale/pt/LC_MESSAGES/formshare.po index f89192c83..f8bc7d5ab 100644 --- a/formshare/locale/pt/LC_MESSAGES/formshare.po +++ b/formshare/locale/pt/LC_MESSAGES/formshare.po @@ -1,37 +1,22 @@ -# Carlos Quiros , 2022, 2023. msgid "" msgstr "" -"Project-Id-Version: FormShare\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-03-30 08:42-0400\n" -"PO-Revision-Date: 2023-03-30 11:00-0400\n" -"Last-Translator: Carlos Quiros \n" -"Language: pt\n" -"Language-Team: English \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" -"Generated-By: Babel 2.10.3\n" -"X-Generator: Lokalize 21.12.3\n" +"X-Generator: POEditor.com\n" +"Project-Id-Version: FormShare\n" +"Language: pt-br\n" #: formshare/config/auth.py:52 formshare/views/basic_views.py:226 #: formshare/views/basic_views.py:432 msgid "The user account does not exist or the password is invalid" msgstr "Conta de usuário inexistente ou senha inválida" -#: formshare/processes/db/assistant.py:302 -msgid "" -"The assistant already exists in your account. You do not need to " -"duplicate assistants, just mark them as \"Share among projects\" to use " -"them across projects." -msgstr "" -"O assistente já existe em sua conta. Você não precisa duplicar " -"assistentes, apenas marcá-los como \"Compartilhar entre projetos\" para " -"usá-los em diferentes projetos." +#: formshare/processes/db/assistant.py:310 +msgid "The assistant already exists in your account. You do not need to duplicate assistants, just mark them as \"Share among projects\" to use them across projects." +msgstr "O assistente já existe em sua conta. Você não precisa duplicar assistentes, apenas marcá-los como \"Compartilhar entre projetos\" para usá-los em diferentes projetos." -#: formshare/processes/db/assistant.py:322 -#: formshare/processes/db/assistant.py:351 +#: formshare/processes/db/assistant.py:331 formshare/processes/db/assistant.py:360 msgid "The assistant is already part of this project" msgstr "O assistente já faz parte deste projeto" @@ -64,8 +49,7 @@ msgstr "Os colaboradores já fazem parte deste projeto" #: formshare/processes/db/form.py:1726 formshare/processes/db/form.py:1771 #: formshare/processes/db/form.py:1801 msgid "This form is blocked and cannot be changed at the moment." -msgstr "" -"Este formulário está bloqueado e não pode ser modificado nesse momento." +msgstr "Este formulário está bloqueado e não pode ser modificado nesse momento." #: formshare/processes/db/form.py:1492 formshare/processes/db/project.py:1267 msgid "The file {} already exist" @@ -105,9 +89,7 @@ msgstr "Um projeto com o nome '{}' já existe em sua conta" #: formshare/processes/db/project.py:1209 msgid "If you have forms with submissions, first you need to delete such forms" -msgstr "" -"Caso você tenha formulários com submissões, primeiro você precisa excluir" -" tais formulários" +msgstr "Caso você tenha formulários com submissões, primeiro você precisa excluir tais formulários" #: formshare/processes/db/user.py:148 msgid "Username is already taken" @@ -131,9 +113,7 @@ msgstr "Alerta de segurança do Token" #: formshare/processes/odk/api.py:459 msgid "The primary key variable does not exist or is inside a repeat" -msgstr "" -"A chave primária não foi encontrada no formulário ODK ou está dentro de " -"uma repetição" +msgstr "A chave primária não foi encontrada no formulário ODK ou está dentro de uma repetição" #: formshare/processes/odk/api.py:473 formshare/processes/odk/api.py:522 #: formshare/processes/odk/api.py:544 formshare/processes/odk/api.py:647 @@ -142,12 +122,8 @@ msgid "FormShare thoroughly checks your ODK for inconsistencies." msgstr "FormShare verifica minuciosamente há inconsistências no seu ODK." #: formshare/processes/odk/api.py:477 -msgid "" -"The following variables are duplicated within repeats or outside repeats " -"in the ODK you just submitted:" -msgstr "" -"As seguintes variáveis estão duplicadas dentro de repetições ou fora de " -"repetições no ODK que você submeteu:" +msgid "The following variables are duplicated within repeats or outside repeats in the ODK you just submitted:" +msgstr "As seguintes variáveis estão duplicadas dentro de repetições ou fora de repetições no ODK que você submeteu:" #: formshare/processes/odk/api.py:487 msgid "Outside any repeat" @@ -162,13 +138,8 @@ msgid "Variable: {}" msgstr "Variável: {}" #: formshare/processes/odk/api.py:504 formshare/processes/odk/api.py:663 -msgid "" -"Please note that FormShare only allows basic Latin letters, digits 0-9, " -"dollar and underscore in repeat, group and variable names." -msgstr "" -"Favor notar que o FormShare permite apenas letras do alfabeto latino, " -"dígitos entre 0-9, cifrões e underline nos nomes de repetição, grupo e " -"variável." +msgid "Please note that FormShare only allows basic Latin letters, digits 0-9, dollar and underscore in repeat, group and variable names." +msgstr "Favor notar que o FormShare permite apenas letras do alfabeto latino, dígitos entre 0-9, cifrões e underline nos nomes de repetição, grupo e variável." #: formshare/processes/odk/api.py:524 msgid "The following variables have invalid names:" @@ -191,30 +162,12 @@ msgid "Please remove the duplicated choices and try again." msgstr "Favor remover as escolhas duplicadas e tentar novamente." #: formshare/processes/odk/api.py:572 formshare/views/form.py:712 -msgid "" -"This ODK form mixes coded and not coded languages. For example " -"label::English (en) and label::Español. You need to code all the labels " -"that are marked for translation." -msgstr "" -"Esta forma ODK mistura idiomas codificados e não codificados. Por " -"exemplo::English (en) and label::Español. É necessário codificar todas as" -" etiquetas que são marcadas para serem traduzidas." +msgid "This ODK form mixes coded and not coded languages. For example label::English (en) and label::Español. You need to code all the labels that are marked for translation." +msgstr "Esta forma ODK mistura idiomas codificados e não codificados. Por exemplo::English (en) and label::Español. É necessário codificar todas as etiquetas que são marcadas para serem traduzidas." #: formshare/processes/odk/api.py:580 -#| msgid "" "The variable to control duplicate submissions has an invalid type. -#| E.g., " "the variable cannot be note, picture, video, sound, -#| select_multiple, or " "geospatial. The most appropriate types are text, -#| datetime, barcode, " "calculate, select_one, or integer" -msgid "" -"The variable to control duplicate submissions has an invalid type. E.g., " -"the variable cannot be note, picture, video, sound, select_multiple, or " -"geospatial. It cannot be instanceID. The most appropriate types are text," -" datetime, barcode, calculate, select_one, or integer" -msgstr "" -"A variável para controlar as submissões duplicadas tem um tipo inválido. Por" -" exemplo, a variável não pode ser nota, imagem, vídeo, som, select_multiple" -" ou geoespacial. Não pode ser instanceID. Os tipos mais apropriados são" -" texto, data e hora, código de barras, cálculo, select_one ou integer." +msgid "The variable to control duplicate submissions has an invalid type. E.g., the variable cannot be note, picture, video, sound, select_multiple, or geospatial. It cannot be instanceID. The most appropriate types are text, datetime, barcode, calculate, select_one, or integer" +msgstr "A variável para controlar as submissões duplicadas tem um tipo inválido. Por exemplo, a variável não pode ser nota, imagem, vídeo, som, select_multiple ou geoespacial. Não pode ser instanceID. Os tipos mais apropriados são texto, data e hora, código de barras, cálculo, select_one ou integer." #: formshare/processes/odk/api.py:600 formshare/views/form.py:721 msgid "FormShare needs you to shorten the name of some of your tables." @@ -245,28 +198,16 @@ msgid "Option {} in variable {}" msgstr "Opção {} na variável {}" #: formshare/processes/odk/api.py:737 -msgid "" -"Malformed language in your ODK. You have label:X (Y) when it must be " -"label::X (Y). With two colons (::)" -msgstr "" -"Linguagem imprópria em seu ODK. Você tem label:X (Y) quando deveria " -"serlabel::X (Y). Com dois pontos (::)" +msgid "Malformed language in your ODK. You have label:X (Y) when it must be label::X (Y). With two colons (::)" +msgstr "Linguagem imprópria em seu ODK. Você tem label:X (Y) quando deveria serlabel::X (Y). Com dois pontos (::)" #: formshare/processes/odk/api.py:754 -msgid "" -"You have choice lists with names but not labels. Did you missed the :: " -"between label and language? Like label:English (en)" -msgstr "" -"Tem listas de selecção com nomes mas sem etiquetas, falhou o :: entre a " -"etiqueta e a língua? Como etiqueta:Inglês (pt)" +msgid "You have choice lists with names but not labels. Did you missed the :: between label and language? Like label:English (en)" +msgstr "Tem listas de selecção com nomes mas sem etiquetas, falhou o :: entre a etiqueta e a língua? Como etiqueta:Inglês (pt)" #: formshare/processes/odk/api.py:829 -msgid "" -"FormShare manages your data in a better way but by doing so it has more " -"restrictions." -msgstr "" -"O FormShare gerencia seus dados da melhor forma, porém para isso, há mais" -" restrições." +msgid "FormShare manages your data in a better way but by doing so it has more restrictions." +msgstr "O FormShare gerencia seus dados da melhor forma, porém para isso, há mais restrições." #: formshare/processes/odk/api.py:835 msgid "The following tables have more than 60 selects: " @@ -285,66 +226,24 @@ msgid "Some information on this restriction and how to correct it:" msgstr "Mais informações sobre essa restrição e como corrigi-la:" #: formshare/processes/odk/api.py:853 -msgid "" -"We tend to organize our ODK forms in sections with questions around a " -"topic. For example: \"livestock inputs\" or \"crops sales\"." -msgstr "" -"Normalmente organizamos nossos formulários ODK em seções com perguntas " -"sobre um assunto. Por exemplo: \"entradas de pecuária\" ou \"vendas de " -"safra\"." +msgid "We tend to organize our ODK forms in sections with questions around a topic. For example: \"livestock inputs\" or \"crops sales\"." +msgstr "Normalmente organizamos nossos formulários ODK em seções com perguntas sobre um assunto. Por exemplo: \"entradas de pecuária\" ou \"vendas de safra\"." #: formshare/processes/odk/api.py:861 -msgid "" -"These sections have type = \"begin/end group\". We also organize " -"questions that must be repeated in sections with type = \"begin/end " -"repeat.\"" -msgstr "" -"Essas seções tem tipo = \"grupo de começo/término\". Nós também " -"organizamos questões que podem ser repetidas em sessões com tipo = " -"\"begin/end repeat.\"" +msgid "These sections have type = \"begin/end group\". We also organize questions that must be repeated in sections with type = \"begin/end repeat.\"" +msgstr "Essas seções tem tipo = \"grupo de começo/término\". Nós também organizamos questões que podem ser repetidas em sessões com tipo = \"begin/end repeat.\"" #: formshare/processes/odk/api.py:869 -msgid "" -"FormShare stores repeats as separate tables (like different Excel sheets)" -" however groups are not stored as repeats. FormShare stores all items " -"(questions, notes, calculations, etc.) outside repeats into a table " -"called \"maintable\". Thus \"maintable\" usually end up with several " -"items and if your ODK form has many selects, then the \"maintable\" could" -" potentially have more than 60 selects. FormShare can only handle 60 " -"selects per table." -msgstr "" -"O FormShare armazena repetições como tabelas separadas (como planilhas " -"diferentes do Excel), mas não os grupos. O FormShare armazena todos os " -"itens (questões, notas, cálculos, etc.) que não são repetições em uma " -"tabela chamada \"maintable\". Por isso, \"maintable\" geralmente acaba " -"contendo diversos itens e se seu formulário do ODK tiver muitas selects, " -"então \"maintable\" pode potencialmente ter mais de 60 selects. O " -"FormShare pode lidar apenas com 60 selects por tabela." +msgid "FormShare stores repeats as separate tables (like different Excel sheets) however groups are not stored as repeats. FormShare stores all items (questions, notes, calculations, etc.) outside repeats into a table called \"maintable\". Thus \"maintable\" usually end up with several items and if your ODK form has many selects, then the \"maintable\" could potentially have more than 60 selects. FormShare can only handle 60 selects per table." +msgstr "O FormShare armazena repetições como tabelas separadas (como planilhas diferentes do Excel), mas não os grupos. O FormShare armazena todos os itens (questões, notas, cálculos, etc.) que não são repetições em uma tabela chamada \"maintable\". Por isso, \"maintable\" geralmente acaba contendo diversos itens e se seu formulário do ODK tiver muitas selects, então \"maintable\" pode potencialmente ter mais de 60 selects. O FormShare pode lidar apenas com 60 selects por tabela." #: formshare/processes/odk/api.py:881 -msgid "" -"You can bypass this restriction by creating groups of items inside " -"repeats BUT WITH repeat_count = 1. A repeat with repeat_count = 1 will " -"behave in the same way as a group, but FormShare will create a new table " -"for it to store all its items. Eventually if you export the data to Excel" -" your items will be organized in different sheets each representing a " -"table." -msgstr "" -"Você pode ignorar esta restrição criando grupos de itens dentro das " -"repetições PORÉM COM repeat_count = 1. A repetição com repeat_count = 1 " -"se comportará da mesma forma como grupo, porém o FormShare criará uma " -"nova tabela para ela armazenar todos os itens. Eventualmente, se você " -"exportar os dados para o Excel, seus itens serão organizados em planilhas" -" diferentes, cada uma representando uma tabela." +msgid "You can bypass this restriction by creating groups of items inside repeats BUT WITH repeat_count = 1. A repeat with repeat_count = 1 will behave in the same way as a group, but FormShare will create a new table for it to store all its items. Eventually if you export the data to Excel your items will be organized in different sheets each representing a table." +msgstr "Você pode ignorar esta restrição criando grupos de itens dentro das repetições PORÉM COM repeat_count = 1. A repetição com repeat_count = 1 se comportará da mesma forma como grupo, porém o FormShare criará uma nova tabela para ela armazenar todos os itens. Eventualmente, se você exportar os dados para o Excel, seus itens serão organizados em planilhas diferentes, cada uma representando uma tabela." #: formshare/processes/odk/api.py:890 -msgid "" -"Please edit your ODK XLSX/XLS file, group several items inside repeats " -"with repeat_count = 1 and try to upload the form again." -msgstr "" -"Favor editar seu arquivo XLSX/XLS do ODK, agrupar diversos itens dentro " -"das repetições com repeat_count = 1 e tente carregar o formulário " -"novamente." +msgid "Please edit your ODK XLSX/XLS file, group several items inside repeats with repeat_count = 1 and try to upload the form again." +msgstr "Favor editar seu arquivo XLSX/XLS do ODK, agrupar diversos itens dentro das repetições com repeat_count = 1 e tente carregar o formulário novamente." #: formshare/processes/odk/api.py:936 formshare/processes/odk/api.py:1371 msgid "No file was attached" @@ -355,140 +254,76 @@ msgid "Invalid file type" msgstr "Tipo inválido de arquivo" #: formshare/processes/odk/api.py:1027 formshare/processes/odk/api.py:1465 -msgid "" -"The variable {} used to identify the cases is invalid. Only text, " -"calculates or integers are allowed." -msgstr "" -"A variável {} usada para identificar os casos não é válida. Somente " -"texto, cálculo ou números inteiros são permitidos." +msgid "The variable {} used to identify the cases is invalid. Only text, calculates or integers are allowed." +msgstr "A variável {} usada para identificar os casos não é válida. Somente texto, cálculo ou números inteiros são permitidos." #: formshare/processes/odk/api.py:1048 formshare/processes/odk/api.py:1486 -msgid "" -"The variable {} used to label cases was not found or is invalid. Only " -"text, calculates or integers are allowed." -msgstr "" -"A variável {} usada para rotular os casos não foi encontrada ou não é " -"válida. Somente texto, cálculo ou inteiros são permitidos." +msgid "The variable {} used to label cases was not found or is invalid. Only text, calculates or integers are allowed." +msgstr "A variável {} usada para rotular os casos não foi encontrada ou não é válida. Somente texto, cálculo ou inteiros são permitidos." #: formshare/processes/odk/api.py:1076 -msgid "" -"The variable {} used to search and select cases was not found or is " -"invalid. The variable must be select_one_from_file using a CSV file or a " -"barcode" -msgstr "" -"A variável {} usada para localizar e selecionar casos não foi encontrada " -"ou é inválida. A variável deve ser select_one_from_file usando um arquivo" -" CSV ou uma variável de código de barras." +msgid "The variable {} used to search and select cases was not found or is invalid. The variable must be select_one_from_file using a CSV file or a barcode" +msgstr "A variável {} usada para localizar e selecionar casos não foi encontrada ou é inválida. A variável deve ser select_one_from_file usando um arquivo CSV ou uma variável de código de barras." #: formshare/processes/odk/api.py:1091 formshare/processes/odk/api.py:1530 -msgid "" -"The variable {} used to record a date or date and time was not found or " -"is invalid. The variable must be date or datetime." -msgstr "" -"A variável {} usada para registrar a data não foi encontrada ou é " -"inválida. A variável deve ser \"data\" ou \"data e hora\"." +msgid "The variable {} used to record a date or date and time was not found or is invalid. The variable must be date or datetime." +msgstr "A variável {} usada para registrar a data não foi encontrada ou é inválida. A variável deve ser \"data\" ou \"data e hora\"." #: formshare/processes/odk/api.py:1310 msgid "The form already exists in this project" msgstr "Formulário já existente neste projeto" #: formshare/processes/odk/api.py:1314 formshare/processes/odk/api.py:1796 -msgid "" -"The form ID has especial characters. FormShare only allows letters, " -"numbers and underscores(_)" -msgstr "" -"O ID do formulário possui caracteres especiais. O FormShare permite " -"apenas letras, números e underline (_)" +msgid "The form ID has especial characters. FormShare only allows letters, numbers and underscores(_)" +msgstr "O ID do formulário possui caracteres especiais. O FormShare permite apenas letras, números e underline (_)" #: formshare/processes/odk/api.py:1321 msgid "Cannot find XForm ID. Please include this ODK form in an issue on " -msgstr "" -"Não foi possível localizar ID do XForm. Inclua este formulário ODK como " -"problema em " +msgstr "Não foi possível localizar ID do XForm. Inclua este formulário ODK como problema em " #: formshare/processes/odk/api.py:1514 -msgid "" -"The variable {} used to search and select cases was not found or is " -"invalid. The variable must be select_one_from_file using a CSV file or a " -"barcode." -msgstr "" -"A variável {} usada para localizar e selecionar casos não foi encontrada " -"ou é inválida. A variável deve ser select_one_from_file usando um arquivo" -" CSV ou uma variável de código de barras." +msgid "The variable {} used to search and select cases was not found or is invalid. The variable must be select_one_from_file using a CSV file or a barcode." +msgstr "A variável {} usada para localizar e selecionar casos não foi encontrada ou é inválida. A variável deve ser select_one_from_file usando um arquivo CSV ou uma variável de código de barras." #: formshare/processes/odk/api.py:1784 msgid "The form does not exist in this project" msgstr "Formulário inexistente neste projeto" #: formshare/processes/odk/api.py:1788 -msgid "" -"The \"form_id\" of the current form does not match the \"form_id\" of the" -" one you uploaded. You cannot update a form with another form." -msgstr "" -"O \"form_id\" do formulário atual não corresponde ao \"form_id\" do " -"formulário que você carregou. Você não pode atualizar um formulário com " -"outro formulário." +msgid "The \"form_id\" of the current form does not match the \"form_id\" of the one you uploaded. You cannot update a form with another form." +msgstr "O \"form_id\" do formulário atual não corresponde ao \"form_id\" do formulário que você carregou. Você não pode atualizar um formulário com outro formulário." #: formshare/processes/odk/api.py:1803 msgid "Cannot find XForm ID. Please post the form as an issue on " -msgstr "" -"Não é possível localizar o ID XForm. Favor publicar o formulário como " -"problema em " +msgstr "Não é possível localizar o ID XForm. Favor publicar o formulário como problema em " #: formshare/processes/odk/api.py:2535 -msgid "" -"The language \"{}\" is missing in this version of the form and cannot be " -"merged.\n" +msgid "The language \"{}\" is missing in this version of the form and cannot be merged.\n" "\n" -"Use the \"Fix language\" button to set the languages in this version of " -"the ODK Form." -msgstr "" -"O idioma \"{}\" não está presente nesta versão do formulário e não pode " -"sermesclado. \n" +"Use the \"Fix language\" button to set the languages in this version of the ODK Form." +msgstr "O idioma \"{}\" não está presente nesta versão do formulário e não pode sermesclado. \n" "\n" -"Use o botão \"Idioma correto\" para configurar os idiomas nesta versão " -"doo formulário ODK." +"Use o botão \"Idioma correto\" para configurar os idiomas nesta versão doo formulário ODK." #: formshare/processes/odk/api.py:2541 -msgid "" -"The language called \"default\" appears when you have a \"label\" without" -" indicating a language. For example if you had a column called \"label\" " -"and another called \"label:English (es)\" then \"default\" refers to the " -"language of \"label\" which was not indicated in the previous version of " -"this ODK Form.\n" +msgid "The language called \"default\" appears when you have a \"label\" without indicating a language. For example if you had a column called \"label\" and another called \"label:English (es)\" then \"default\" refers to the language of \"label\" which was not indicated in the previous version of this ODK Form.\n" "\n" -"In this new version you added the language to the \"label\" therefore " -"\"default\" does not exists" -msgstr "" -"O idioma chamado \"default\" aparece quando você tem um \"rótulo\" sem " -"indicar o idioma. Por exemplo, se você tivesse uma coluna chamada " -"\"label\"e outro chamado \"label::English (en)\", então \"default\" " -"refere-se aoidioma do \"label\" cujo idioma não foi indicado na versão " -"anterior doeste formulário ODK. \n" +"In this new version you added the language to the \"label\" therefore \"default\" does not exists" +msgstr "O idioma chamado \"default\" aparece quando você tem um \"rótulo\" sem indicar o idioma. Por exemplo, se você tivesse uma coluna chamada \"label\"e outro chamado \"label::English (en)\", então \"default\" refere-se aoidioma do \"label\" cujo idioma não foi indicado na versão anterior doeste formulário ODK. \n" "\n" -"Nesta nova versão, adicionou-se o idioma ao \"label\", " -"portanto\"default\" não existe" +"Nesta nova versão, adicionou-se o idioma ao \"label\", portanto\"default\" não existe" #: formshare/processes/odk/api.py:2557 -msgid "" -"This version of the form is in multiple languages but the previous one " -"was not and therefore and cannot be merged.\n" +msgid "This version of the form is in multiple languages but the previous one was not and therefore and cannot be merged.\n" "\n" -"Use the \"Fix language\" button to set the languages in this version of " -"the ODK Form." -msgstr "" -"Esta versão do formulário está em vários idiomas, mas o anteriornão e, " -"portanto, não pode ser mesclado. \n" +"Use the \"Fix language\" button to set the languages in this version of the ODK Form." +msgstr "Esta versão do formulário está em vários idiomas, mas o anteriornão e, portanto, não pode ser mesclado. \n" "\n" -"Use o botão \"Idioma correto\" para configurar os idiomas nesta versão " -"doFormulário ODK." +"Use o botão \"Idioma correto\" para configurar os idiomas nesta versão doFormulário ODK." #: formshare/processes/odk/api.py:3693 -msgid "" -"Generating Diff HTML file error. Diff file for such commit does not exist" -msgstr "" -"Erro gerador de erro Difere o ficheiro de erro HTML. O ficheiro dif não " -"existe" +msgid "Generating Diff HTML file error. Diff file for such commit does not exist" +msgstr "Erro gerador de erro Difere o ficheiro de erro HTML. O ficheiro dif não existe" #: formshare/processes/odk/geojson.py:27 msgid "The GeoJSON file has features that are not feature" @@ -531,12 +366,8 @@ msgid "There are no media files to download" msgstr "Não há arquivos de mídia para download" #: formshare/processes/submission/api.py:410 -msgid "" -"This form was uploaded using an old version of ODK Tools. Please upload " -"it again." -msgstr "" -"Esse formulário foi carregado utilizando uma versão antiga de ferramentas" -" ODK. Favor carregar novamente." +msgid "This form was uploaded using an old version of ODK Tools. Please upload it again." +msgstr "Esse formulário foi carregado utilizando uma versão antiga de ferramentas ODK. Favor carregar novamente." #: formshare/processes/submission/api.py:461 msgid "Error while creating dummy file" @@ -577,15 +408,11 @@ msgstr "Erro de dados AJAX. Reportar este erro como problema em " #: formshare/processes/submission/api.py:1185 msgid "Cannot update value. Check the valid values in lookup table " -msgstr "" -"Não foi possível atualizar valor. Verifique os valores válidos na tabela " -"de consulta" +msgstr "Não foi possível atualizar valor. Verifique os valores válidos na tabela de consulta" #: formshare/processes/submission/api.py:1198 msgid "Cannot update value. Check the valid values in lookup table" -msgstr "" -"Não é possível atualizar valor. Verifique os valores válidos na tabela de" -" consulta" +msgstr "Não é possível atualizar valor. Verifique os valores válidos na tabela de consulta" #: formshare/products/products.py:111 msgid "Import FormShare 1.0 data" @@ -726,38 +553,20 @@ msgid "There are no media files" msgstr "Não há arquivos de mídia" #: formshare/products/export/xlsx/celery_task.py:129 -msgid "" -"A worksheet name has been repeated. Excel only allow 30 characters in the" -" worksheet name. You can fix this by editing the dictionary and change " -"the description of the tables to a maximum of 30 characters." -msgstr "" -"Um nome de planilha está repetido. O excel permite apenas 30 caracteres " -"no nome da planilha. Você pode consertar isso ao editar o dicionário e " -"modificar a descrição das tabelas para o máximo de 30 caracteres." +msgid "A worksheet name has been repeated. Excel only allow 30 characters in the worksheet name. You can fix this by editing the dictionary and change the description of the tables to a maximum of 30 characters." +msgstr "Um nome de planilha está repetido. O excel permite apenas 30 caracteres no nome da planilha. Você pode consertar isso ao editar o dicionário e modificar a descrição das tabelas para o máximo de 30 caracteres." #: formshare/products/export/xlsx/celery_task.py:138 -msgid "" -"Unknown error while creating the XLSX. Sorry about this. Please report " -"this error as an issue on https://github.com/qlands/FormShare" -msgstr "" -"Erro ao criar XLSX. Desculpe-nos. Por favor, reporte este erro como " -"problema em https://github.com/qlands/FormShare" +msgid "Unknown error while creating the XLSX. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" +msgstr "Erro ao criar XLSX. Desculpe-nos. Por favor, reporte este erro como problema em https://github.com/qlands/FormShare" #: formshare/products/export/zip_csv/celery_task.py:141 -msgid "" -"Unknown error while creating the CSV Zip. Sorry about this. Please report" -" this error as an issue on https://github.com/qlands/FormShare" -msgstr "" -"Erro desconhecido ao criar o CSV Zip. Desculpe. Favor informar este erro " -"como um problema em https://github.com/qlands/FormShare" +msgid "Unknown error while creating the CSV Zip. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" +msgstr "Erro desconhecido ao criar o CSV Zip. Desculpe. Favor informar este erro como um problema em https://github.com/qlands/FormShare" #: formshare/products/export/zip_json/celery_task.py:141 -msgid "" -"Unknown error while creating the JSON Zip. Sorry about this. Please " -"report this error as an issue on https://github.com/qlands/FormShare" -msgstr "" -"Erro desconhecido ao criar o Zip JSON. Desculpe. Favor reportar este erro" -" como um problema em https://github.com/qlands/FormShare." +msgid "Unknown error while creating the JSON Zip. Sorry about this. Please report this error as an issue on https://github.com/qlands/FormShare" +msgstr "Erro desconhecido ao criar o Zip JSON. Desculpe. Favor reportar este erro como um problema em https://github.com/qlands/FormShare." #: formshare/products/merge/celery_task.py:135 msgid "Creating backup of schema" @@ -801,39 +610,36 @@ msgid "Inserting lookup values..." msgstr "Inserindo valores de consulta..." #: formshare/products/xmlimport/celery_task.py:83 -msgid "" -"-Error {} while pushing submission {} to URL {}. Error \n" +msgid "-Error {} while pushing submission {} to URL {}. Error \n" "\n" "{}\n" "\n" -msgstr "" -"-Erro {} ao fazer o upload da remessa {} para o endereço {}. Erro \n" +"" +msgstr "-Erro {} ao fazer o upload da remessa {} para o endereço {}. Erro \n" "\n" "{}\n" "\n" +"" #: formshare/products/xmlimport/celery_task.py:92 msgid "-Submission {} imported successfully" msgstr "-Submissão {} importado com sucesso" #: formshare/products/xmlimport/celery_task.py:95 -msgid "" -"-Error while pushing submission {} to URL {}. Error \n" +msgid "-Error while pushing submission {} to URL {}. Error \n" "\n" "{}\n" "\n" -msgstr "" -"-Erro ao enviar a remessa {} para o endereço {}. Erro \n" +"" +msgstr "-Erro ao enviar a remessa {} para o endereço {}. Erro \n" "\n" "{}\n" "\n" +"" #: formshare/products/xmlimport/celery_task.py:101 -msgid "" -"-The directory {} does not have any submission files or it does not have " -"an xml data file" -msgstr "" -"- O diretório {} não tem nenhum envio ou não tem um arquivo de dados XML" +msgid "-The directory {} does not have any submission files or it does not have an xml data file" +msgstr "- O diretório {} não tem nenhum envio ou não tem um arquivo de dados XML" #: formshare/products/xmlimport/celery_task.py:122 msgid "Writing report" @@ -843,8 +649,7 @@ msgstr "Escrevendo o relatório" msgid "Report of the XML import" msgstr "Relatório de importação XML" -#: formshare/templates/base.jinja2:15 -#: formshare/templates/dashboard/index.jinja2:16 +#: formshare/templates/base.jinja2:15 formshare/templates/dashboard/index.jinja2:16 #: formshare/templates/dashboard/profile/snippets/brdcrbs_profile.jinja2:5 #: formshare/templates/dashboard/profile/snippets/brdcrbs_profile_edit.jinja2:5 #: formshare/templates/dashboard/projects/assistant_groups/members/snippets/brdcrbs_memlist.jinja2:5 @@ -938,9 +743,9 @@ msgstr "Utilizar este Código QR para configurar coleta ODK" #: formshare/templates/dashboard/partners/partner_edit.jinja2:49 #: formshare/templates/dashboard/partners/snippets/partner_password_form.jinja2:23 #: formshare/templates/dashboard/profile/profile_edit.jinja2:142 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:105 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:131 -#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:38 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:114 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:140 +#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:39 #: formshare/templates/dashboard/users/snippets/user_password_form.jinja2:22 #: formshare/templates/dashboard/users/user_edit.jinja2:49 #: formshare/templates/partner/page.jinja2:137 @@ -949,7 +754,7 @@ msgid "Change password" msgstr "Alterar senha" #: formshare/templates/assistant/page.jinja2:148 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:106 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:115 #: formshare/templates/partner/page.jinja2:138 msgid "Change the password of" msgstr "Alterar a senha de" @@ -962,7 +767,7 @@ msgstr "Senha antiga" #: formshare/templates/assistant/page.jinja2:161 #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:49 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:114 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:123 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:44 #: formshare/templates/dashboard/users/snippets/user_form.jinja2:23 #: formshare/templates/generic/assistant_login.jinja2:31 @@ -975,7 +780,7 @@ msgstr "Senha" #: formshare/templates/assistant/page.jinja2:168 #: formshare/templates/dashboard/profile/profile_edit.jinja2:133 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:121 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:130 #: formshare/templates/partner/page.jinja2:157 msgid "Confirmation" msgstr "Confirmação" @@ -985,8 +790,9 @@ msgstr "Confirmação" #: formshare/templates/assistant/page.jinja2:175 #: formshare/templates/assistant/page.jinja2:216 #: formshare/templates/assistant/page.jinja2:247 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:138 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:130 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:140 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:139 +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:23 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:103 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:136 #: formshare/templates/dashboard/projects/forms/dictionary/snippets/change_field_name.jinja2:23 @@ -1056,14 +862,8 @@ msgstr "Gerar nova senha" #: formshare/templates/assistant/page.jinja2:210 #: formshare/templates/dashboard/profile/profile_edit.jinja2:99 -msgid "" -"You can generate the API secret at any time. However, it will be readable" -" only onetime after you generate it. Save it somewhere safe after you " -"generate it." -msgstr "" -"Você pode gerar a senha API a qualquer momento. No entanto, ela só será " -"visível uma vez depois que você a gerar. Mantenha-o em um local seguro " -"após gerá-lo." +msgid "You can generate the API secret at any time. However, it will be readable only onetime after you generate it. Save it somewhere safe after you generate it." +msgstr "Você pode gerar a senha API a qualquer momento. No entanto, ela só será visível uma vez depois que você a gerar. Mantenha-o em um local seguro após gerá-lo." #: formshare/templates/assistant/page.jinja2:229 #: formshare/templates/assistant/page.jinja2:248 @@ -1421,16 +1221,16 @@ msgid "Error" msgstr "Erro" #: formshare/templates/assistant/jsonlogs/loglist.jinja2:94 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:63 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:74 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:65 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:83 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:70 msgid "Status" msgstr "Status" #: formshare/templates/assistant/jsonlogs/loglist.jinja2:99 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:68 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:62 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:79 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:70 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:64 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:88 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:80 msgid "Actions" msgstr "Ações" @@ -1529,13 +1329,8 @@ msgid "The value is already in use by submission" msgstr "O valor já está em uso por uma submissão" #: formshare/templates/assistant/jsonlogs/snippets/error_item.jinja2:27 -msgid "" -"The duplicated submission cannot be found. It may have been moved to the " -"logs or deleted. You can push this submission into the database." -msgstr "" -"A submissão duplicada não pôde ser encontrada. Ela pode ter sido movida " -"para os registros ou excluída. Você pode colocar esta submissão na base " -"de dados." +msgid "The duplicated submission cannot be found. It may have been moved to the logs or deleted. You can push this submission into the database." +msgstr "A submissão duplicada não pôde ser encontrada. Ela pode ter sido movida para os registros ou excluída. Você pode colocar esta submissão na base de dados." #: formshare/templates/assistant/jsonlogs/snippets/error_item.jinja2:50 #: formshare/templates/assistant/jsonlogs/snippets/error_item.jinja2:76 @@ -1903,9 +1698,9 @@ msgstr "Sim, prosseguir" #: formshare/templates/dashboard/index.jinja2:249 #: formshare/templates/dashboard/partners/partner_list.jinja2:113 #: formshare/templates/dashboard/profile/profile.jinja2:77 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:98 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:250 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:150 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:100 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:254 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:186 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:120 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:541 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:583 @@ -1964,11 +1759,8 @@ msgstr "para ler mais" #: formshare/templates/dashboard/index.jinja2:193 #: formshare/templates/dashboard/projects/project_details.jinja2:95 -msgid "" -"Follow-up forms attach information to a case at different points in time." -msgstr "" -"Os formulários de rastreamento anexam informações a um caso em diferentes" -" momentos" +msgid "Follow-up forms attach information to a case at different points in time." +msgstr "Os formulários de rastreamento anexam informações a um caso em diferentes momentos" #: formshare/templates/dashboard/index.jinja2:200 #: formshare/templates/dashboard/projects/project_details.jinja2:102 @@ -1993,14 +1785,8 @@ msgstr "Por exemplo, uma família que decide participar de um estudo novamente." #: formshare/templates/dashboard/index.jinja2:244 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:544 #: formshare/templates/dashboard/projects/project_details.jinja2:317 -msgid "" -"Warning, you are going to delete a form that is a subversion of another " -"form. This means that you will REMOVE ALL the data, including previous " -"versions of the data as well!!!" -msgstr "" -"Atenção, você está excluindo um formulário que é uma versão de outro " -"formulário. Isso significa que você irá REMOVER TODOS os dados, incluindo" -" versões anteriores dos dados!" +msgid "Warning, you are going to delete a form that is a subversion of another form. This means that you will REMOVE ALL the data, including previous versions of the data as well!!!" +msgstr "Atenção, você está excluindo um formulário que é uma versão de outro formulário. Isso significa que você irá REMOVER TODOS os dados, incluindo versões anteriores dos dados!" #: formshare/templates/dashboard/index.jinja2:245 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:545 @@ -2022,9 +1808,9 @@ msgstr "Sim, excluir este formulário!" #: formshare/templates/dashboard/index.jinja2:258 #: formshare/templates/dashboard/index.jinja2:292 -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:103 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:255 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:155 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:105 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:259 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:191 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:125 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:335 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:368 @@ -2051,9 +1837,7 @@ msgstr "Erros em sua última ação" #: formshare/templates/dashboard/page.jinja2:111 msgid "The following errors happened while processing your last action" -msgstr "" -"Os seguintes erros foram relatados durante o processamento de sua última " -"ação" +msgstr "Os seguintes erros foram relatados durante o processamento de sua última ação" #: formshare/templates/dashboard/page.jinja2:117 msgid "Dismiss" @@ -2138,24 +1922,12 @@ msgid "FormShare partners" msgstr "Sócios no FormShare" #: formshare/templates/dashboard/partners/partner_list.jinja2:37 -msgid "" -"Partners are trusted individuals outside your organization that require " -"access to products and other resources in FormShare to collaborate with " -"you. For example, a professor at a university (a partner in your project)" -" requiring a KML export to match GPS points with weather data." -msgstr "" -"Sócios são pessoas de confiança fora de sua organização que exigemacesso " -"a produtos e outros recursos no FormShare para colaborartu. Por exemplo, " -"um professor em uma universidade (um sócio em seu projeto) que requer uma" -" exportação KML para combinar pontos GPS com dados meteorológicos." +msgid "Partners are trusted individuals outside your organization that require access to products and other resources in FormShare to collaborate with you. For example, a professor at a university (a partner in your project) requiring a KML export to match GPS points with weather data." +msgstr "Sócios são pessoas de confiança fora de sua organização que exigemacesso a produtos e outros recursos no FormShare para colaborartu. Por exemplo, um professor em uma universidade (um sócio em seu projeto) que requer uma exportação KML para combinar pontos GPS com dados meteorológicos." #: formshare/templates/dashboard/partners/partner_list.jinja2:38 -msgid "" -"After adding a partner you can link it either to a project or to " -"individual forms within a project." -msgstr "" -"Depois de adicionar um parceiro, você pode vinculá-lo a um projeto " -"ouformulários individuais dentro de um projeto." +msgid "After adding a partner you can link it either to a project or to individual forms within a project." +msgstr "Depois de adicionar um parceiro, você pode vinculá-lo a um projeto ouformulários individuais dentro de um projeto." #: formshare/templates/dashboard/partners/partner_list.jinja2:54 msgid "Search for a partner" @@ -2208,7 +1980,7 @@ msgstr "Lista de sócios" #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:9 #: formshare/templates/dashboard/profile/snippets/social_tab.jinja2:24 #: formshare/templates/dashboard/profile/snippets/social_tab.jinja2:26 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:64 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:73 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:16 #: formshare/templates/dashboard/users/snippets/user_form.jinja2:16 #: formshare/templates/generic/register.jinja2:19 @@ -2228,15 +2000,11 @@ msgstr "Organização" #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:36 #: formshare/templates/dashboard/partners/snippets/partner_form_edit.jinja2:16 -msgid "" -"This should be the time zone where the partner performs activities. As a " -"reference, FormShare's time zone is " -msgstr "" -"Este deve ser o fuso horário no qual o parceiro realiza as atividades. " -"Para referência, o fuso horário do FormShare é " +msgid "This should be the time zone where the partner performs activities. As a reference, FormShare's time zone is " +msgstr "Este deve ser o fuso horário no qual o parceiro realiza as atividades. Para referência, o fuso horário do FormShare é " #: formshare/templates/dashboard/partners/snippets/partner_form.jinja2:42 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:69 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:78 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:37 #: formshare/templates/landing/snippets/contact.jinja2:19 msgid "Telephone" @@ -2292,8 +2060,8 @@ msgid "Edit Profile" msgstr "Editar Perfil" #: formshare/templates/dashboard/profile/profile_edit.jinja2:36 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:52 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:59 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:54 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:68 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:60 #: formshare/templates/dashboard/projects/forms/snippets/edit_form.jinja2:5 #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:10 @@ -2305,26 +2073,17 @@ msgid "Bio data" msgstr "Dados da bio" #: formshare/templates/dashboard/profile/profile_edit.jinja2:54 -msgid "" -"This should be your current time zone. As a reference, FormShare's time " -"zone is " -msgstr "" -"Este deve ser seu fuso horário atual. Para referência, o fuso horário do " -"FormShare é " +msgid "This should be your current time zone. As a reference, FormShare's time zone is " +msgstr "Este deve ser seu fuso horário atual. Para referência, o fuso horário do FormShare é " #: formshare/templates/dashboard/profile/profile_edit.jinja2:65 msgid "Save changes" msgstr "Salvar modificações" #: formshare/templates/dashboard/profile/profile_edit.jinja2:87 -msgid "" -"Never share your API key. If you change your API key, you need to change " -"your API secret." -msgstr "" -"Nunca compartilhe sua chave API. Se você mudar sua chave API, você tem " -"que mudar a senha API." +msgid "Never share your API key. If you change your API key, you need to change your API secret." +msgstr "Nunca compartilhe sua chave API. Se você mudar sua chave API, você tem que mudar a senha API." -# | msgid "Case creator" #: formshare/templates/dashboard/profile/profile_edit.jinja2:91 msgid "API secret" msgstr "Senha API" @@ -2341,8 +2100,8 @@ msgstr "Sobre" #: formshare/templates/dashboard/profile/snippets/about_tab.jinja2:30 #: formshare/templates/dashboard/profile/snippets/brdcrbs_profile_edit.jinja2:11 #: formshare/templates/dashboard/profile/snippets/profile_head.jinja2:23 -#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:26 -#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:39 +#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:27 +#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:40 #: formshare/templates/dashboard/projects/snippets/brdcrbs_prjedit.jinja2:14 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:14 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:49 @@ -2368,7 +2127,7 @@ msgid "Collaborations" msgstr "Colaborações" #: formshare/templates/dashboard/profile/snippets/profile_head.jinja2:33 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:57 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:59 msgid "Joined" msgstr "Juntou-se" @@ -2457,7 +2216,7 @@ msgstr "Adicionar novo projeto" msgid "Information for the new project" msgstr "Informações para o novo projeto" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:110 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:112 #: formshare/templates/dashboard/projects/project_details.jinja2:18 msgid "Project" msgstr "Projeto" @@ -2472,9 +2231,9 @@ msgstr "Editando as opções de sócio" msgid "Are you sure that you want to remove " msgstr "Você tem certeza que deseja excluir" -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:102 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:254 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:154 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:104 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:258 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:190 #: formshare/templates/dashboard/projects/collaborators/collaborator_list.jinja2:124 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:587 #: formshare/templates/dashboard/projects/forms/form_details.jinja2:643 @@ -2535,21 +2294,17 @@ msgid "Assistant groups" msgstr "Grupos de assistência" #: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:34 -msgid "" -"Groups allow you to aggregate assistants with something in common. For " -"example, \"Data collectors\"" -msgstr "" -"Grupos permitem que você agregue assistentes que tenham algo em comum. " -"Por exemplo, \"Coletores de dados\"" +msgid "Groups allow you to aggregate assistants with something in common. For example, \"Data collectors\"" +msgstr "Grupos permitem que você agregue assistentes que tenham algo em comum. Por exemplo, \"Coletores de dados\"" -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:45 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:46 #: formshare/templates/dashboard/projects/assistant_groups/snippets/brdcrbs_groupedit.jinja2:2 #: formshare/templates/dashboard/projects/assistant_groups/snippets/group_form.jinja2:17 #: formshare/templates/dashboard/projects/forms/snippets/add_group.jinja2:40 msgid "Add group" msgstr "Adicionar grupo" -#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:58 +#: formshare/templates/dashboard/projects/assistant_groups/group_list.jinja2:60 #: formshare/templates/dashboard/projects/assistant_groups/snippets/group_form.jinja2:5 #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:65 msgid "Description" @@ -2560,36 +2315,33 @@ msgstr "Descrição" msgid "Members in" msgstr "Membros em" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:41 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:42 msgid "Add member" msgstr "Adicionar membro" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:84 -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:139 -#| msgid "Add assistant" +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:86 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:141 +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:3 msgid "Add assistants" msgstr "Adicionar assistentes" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:90 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:92 msgid "Check all" msgstr "Marcar todos" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:93 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:95 msgid "Uncheck all" msgstr "Demarcar todos" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:100 -#| msgid "Delete project" +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:102 msgid "Filter by project" msgstr "Filtrar por projeto" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:104 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:106 msgid "Note: Assistants excluded by a filter will be automatically unchecked" -msgstr "" -"Observação: os participantes excluídos por um filtro serão desmarcados" -" automaticamente" +msgstr "Observação: os participantes excluídos por um filtro serão desmarcados automaticamente" -#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:111 +#: formshare/templates/dashboard/projects/assistant_groups/members/member_list.jinja2:113 #: formshare/templates/dashboard/projects/forms/import_data/import_form.jinja2:54 #: formshare/templates/dashboard/projects/forms/snippets/add_assistant.jinja2:13 #: formshare/templates/dashboard/projects/forms/submissions/snippets/move_to_logs.jinja2:15 @@ -2607,13 +2359,12 @@ msgstr "Membros do grupo" msgid "Groups" msgstr "Grupos" -#: formshare/templates/dashboard/projects/assistant_groups/members/snippets/member_item.jinja2:19 +#: formshare/templates/dashboard/projects/assistant_groups/members/snippets/member_item.jinja2:20 #: formshare/templates/dashboard/projects/collaborators/snippets/collaborator_item.jinja2:38 msgid "Remove" msgstr "Remover" #: formshare/templates/dashboard/projects/assistant_groups/snippets/brdcrbs_groupadd.jinja2:2 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:45 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:67 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistadd.jinja2:2 #: formshare/templates/dashboard/projects/forms/snippets/add_assistant.jinja2:44 @@ -2653,8 +2404,8 @@ msgstr "Inativo" msgid "Members" msgstr "Membros" -#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:27 -#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:40 +#: formshare/templates/dashboard/projects/assistant_groups/snippets/group_item.jinja2:28 +#: formshare/templates/dashboard/projects/assistants/snippets/assistant_item.jinja2:41 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:109 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:114 #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:84 @@ -2677,7 +2428,7 @@ msgid "Edit assistant" msgstr "Editar assistente" #: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:4 -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:32 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:38 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistadd.jinja2:14 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistedit.jinja2:14 #: formshare/templates/dashboard/projects/assistants/snippets/brdcrbs_assistlist.jinja2:14 @@ -2687,14 +2438,30 @@ msgstr "Editar assistente" msgid "Assistants" msgstr "Assistentes" -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:34 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:40 msgid "Assistants help you collect and clean data." msgstr "Assistentes te ajudam a coletar e limpar dados." -#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:182 +#: formshare/templates/dashboard/projects/assistants/assistant_list.jinja2:218 msgid "Changing password for" msgstr "Alterando senha para" +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:6 +msgid "Add one" +msgstr "Adicionar um" + +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:9 +msgid "Add many from CSV file" +msgstr "Adicionar muitos a partir de um arquivo CSV" + +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:11 +msgid "Download template file" +msgstr "Download do modelo" + +#: formshare/templates/dashboard/projects/assistants/snippets/add_assistant_menu.jinja2:12 +msgid "Upload CSV file" +msgstr "Carregar arquivo CSV" + #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:5 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form_edit.jinja2:4 #: formshare/templates/generic/assistant_login.jinja2:28 @@ -2702,35 +2469,21 @@ msgid "Assistant ID" msgstr "ID de Assistente" #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:6 -msgid "" -"This is a simple name to identify the assistant in FormShare. It is the " -"name that the assistant will use in ODK Collect. The assistant id must be" -" unique and cannot be changed afterward." -msgstr "" -"Este é um nome simples para identificar o feiticeiro no FormShare. É o " -"nome que o feiticeiro usará no ODK Collect. A identificação do feiticeiro" -" deve ser única e não pode ser alterada posteriormente." +msgid "This is a simple name to identify the assistant in FormShare. It is the name that the assistant will use in ODK Collect. The assistant id must be unique and cannot be changed afterward." +msgstr "Este é um nome simples para identificar o feiticeiro no FormShare. É o nome que o feiticeiro usará no ODK Collect. A identificação do feiticeiro deve ser única e não pode ser alterada posteriormente." #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:31 #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form_edit.jinja2:18 -msgid "" -"This should be the time zone where the assistant performs activities. As " -"a reference, FormShare's time zone is " -msgstr "" -"Este deve ser o fuso horário em que o participante realiza suas " -"atividades. Para referência, o fuso horário do FormShare é " +msgid "This should be the time zone where the assistant performs activities. As a reference, FormShare's time zone is " +msgstr "Este deve ser o fuso horário em que o participante realiza suas atividades. Para referência, o fuso horário do FormShare é " #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:57 msgid "Share among projects" msgstr "Compartilhar entre projetos" #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form.jinja2:58 -msgid "" -"This means that this person can assist different projects within your " -"account." -msgstr "" -"Isso significa que essa pessoa pode auxiliar em diversos projetos na sua " -"conta." +msgid "This means that this person can assist different projects within your account." +msgstr "Isso significa que essa pessoa pode auxiliar em diversos projetos na sua conta." #: formshare/templates/dashboard/projects/assistants/snippets/assistant_form_edit.jinja2:48 msgid "Modify assistant" @@ -2744,6 +2497,25 @@ msgstr "Compartilhado" msgid "Assistant list" msgstr "Lista assistente" +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:7 +#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:7 +#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:7 +msgid "Upload file" +msgstr "Carregar arquivo" + +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:17 +#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:17 +#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:17 +msgid "Choose files" +msgstr "Escolher arquivos" + +#: formshare/templates/dashboard/projects/assistants/snippets/upload_file.jinja2:24 +#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:30 +#: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:117 +#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:30 +msgid "Upload" +msgstr "Carregar" + #: formshare/templates/dashboard/projects/collaborators/accept_collaboration.jinja2:5 #: formshare/templates/dashboard/projects/collaborators/accept_collaboration.jinja2:39 #: formshare/templates/dashboard/projects/collaborators/snippets/brdcrbs_accept_collaboration.jinja2:8 @@ -2850,20 +2622,12 @@ msgid "Changes made to the survey" msgstr "Alterações feitas no formulário" #: formshare/templates/dashboard/projects/forms/compare_forms.jinja2:31 -msgid "" -"This shows only structural changes. It does not show any changes in " -"logic, descriptions, order, or choices." -msgstr "" -"Isto mostra apenas mudanças estruturais. Não mostra nenhuma mudança em " -"lógica, descrições, ordem ou opções." +msgid "This shows only structural changes. It does not show any changes in logic, descriptions, order, or choices." +msgstr "Isto mostra apenas mudanças estruturais. Não mostra nenhuma mudança em lógica, descrições, ordem ou opções." #: formshare/templates/dashboard/projects/forms/compare_forms.jinja2:54 -msgid "" -"This new version does not have any structural changes from its former " -"version." -msgstr "" -"Esta nova versão não tem mudanças estruturais em comparação com a versão " -"anterior." +msgid "This new version does not have any structural changes from its former version." +msgstr "Esta nova versão não tem mudanças estruturais em comparação com a versão anterior." #: formshare/templates/dashboard/projects/forms/form_details.jinja2:119 #: formshare/templates/partner/form_details.jinja2:4 @@ -2907,12 +2671,8 @@ msgid "You do not have a single field marked as sensitive!" msgstr "Você não tem campos marcados como sensíveis!" #: formshare/templates/dashboard/projects/forms/form_details.jinja2:399 -msgid "" -"IF YOU CONTINUE YOU MIGHT BE AT RISK OF MAKING SENSITIVE DATA PUBLICLY " -"AVAILABLE!" -msgstr "" -"CASO CONTINUE, VOCÊ PODE ARRISCAR DISPONIBILIZAR PUBLICAMENTE DADOS " -"SENSÍVEIS!" +msgid "IF YOU CONTINUE YOU MIGHT BE AT RISK OF MAKING SENSITIVE DATA PUBLICLY AVAILABLE!" +msgstr "CASO CONTINUE, VOCÊ PODE ARRISCAR DISPONIBILIZAR PUBLICAMENTE DADOS SENSÍVEIS!" #: formshare/templates/dashboard/projects/forms/form_details.jinja2:405 msgid "Yes, publish it" @@ -2942,38 +2702,19 @@ msgstr "O arquivo CSV de casos em tempo real" #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:31 msgid "The real-time CSV case file has been created. You can adjust it below." -msgstr "" -"O arquivo CSV de casos em tempo real foi criado. Você pode ajustá-lo " -"abaixo." +msgstr "O arquivo CSV de casos em tempo real foi criado. Você pode ajustá-lo abaixo." #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:42 -msgid "" -"The real-time CSV case file provides information on each case to follow-" -"up case forms. For example, use the sex of a participant (e.g., female) " -"in follow-up case forms to ask specific questions according to sex (e.g.," -" if female, do they have access to reproductive health services?)" -msgstr "" -"O arquivo CSV de caso em tempo real fornece informações sobre cada caso " -"para uso em formulários de acompanhamento. Por exemplo, o gênero de um " -"participante (por exemplo, mulher) pode ser usado em formulários de " -"acompanhamento para fazer perguntas específicas de gênero (por exemplo, " -"se mulher, ela tem acesso a serviços de saúde reprodutiva?)" +msgid "The real-time CSV case file provides information on each case to follow-up case forms. For example, use the sex of a participant (e.g., female) in follow-up case forms to ask specific questions according to sex (e.g., if female, do they have access to reproductive health services?)" +msgstr "O arquivo CSV de caso em tempo real fornece informações sobre cada caso para uso em formulários de acompanhamento. Por exemplo, o gênero de um participante (por exemplo, mulher) pode ser usado em formulários de acompanhamento para fazer perguntas específicas de gênero (por exemplo, se mulher, ela tem acesso a serviços de saúde reprodutiva?)" #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:43 -msgid "" -"Each time a new case arrives in FormShare, the platform will update this " -"CSV file. You can adjust below what information goes into the CSV file." -msgstr "" -"Cada vez que um novo caso chega ao FormShare, a plataforma irá atualizar " -"este Arquivo CSV. Você pode ajustar as informações incluídas no arquivo " -"CSV abaixo." +msgid "Each time a new case arrives in FormShare, the platform will update this CSV file. You can adjust below what information goes into the CSV file." +msgstr "Cada vez que um novo caso chega ao FormShare, a plataforma irá atualizar este Arquivo CSV. Você pode ajustar as informações incluídas no arquivo CSV abaixo." #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:43 -msgid "" -"to download an example of this file so you can use it in follow-up forms." -msgstr "" -"para baixar um exemplo deste arquivo para que você possa usá-lo em seus " -"formulários de rastreamento." +msgid "to download an example of this file so you can use it in follow-up forms." +msgstr "para baixar um exemplo deste arquivo para que você possa usá-lo em seus formulários de rastreamento." #: formshare/templates/dashboard/projects/forms/case/case_fields.jinja2:43 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:17 @@ -3080,12 +2821,8 @@ msgid "Data tables: Tables that contain the submitted data." msgstr "Tabelas de dados: tabelas que contém os dados submetidos." #: formshare/templates/dashboard/projects/forms/dictionary/edit_tables.jinja2:56 -msgid "" -"Multi-select tables: Each multi-select variable has its own table. Here " -"each option is stored in a separate row." -msgstr "" -"Tabelas multi-seleção: Cada variável multi-seleção tem sua própria " -"tabela. Aqui, cada opção é armazenada em uma linha separada." +msgid "Multi-select tables: Each multi-select variable has its own table. Here each option is stored in a separate row." +msgstr "Tabelas multi-seleção: Cada variável multi-seleção tem sua própria tabela. Aqui, cada opção é armazenada em uma linha separada." #: formshare/templates/dashboard/projects/forms/dictionary/edit_tables.jinja2:68 msgid "Lookup tables: Contain the description of categorical variables." @@ -3275,9 +3012,7 @@ msgstr "Criar KML" #: formshare/templates/dashboard/projects/forms/export/kml.jinja2:32 msgid "Other data to include besides the geolocation and the primary key" -msgstr "" -"Outras variáveis ​​a serem incluídas, além de geolocalização e chave " -"primária" +msgstr "Outras variáveis ​​a serem incluídas, além de geolocalização e chave primária" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_xlsx.jinja2:2 #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:4 @@ -3299,23 +3034,14 @@ msgstr "Exportar tabelas multi-selecção" #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:41 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 -msgid "" -"When checked, FormShare will create a CSV file for each multiselect " -"table. But will not resolve multiselect fields. Click" -msgstr "" -"Quando verificado, o FormShare irá criar um ficheiro CSV para cada tabela" -" multi-selecção. Mas não irá resolver campos multi-seleccionados. Clique " -"em" +msgid "When checked, FormShare will create a CSV file for each multiselect table. But will not resolve multiselect fields. Click" +msgstr "Quando verificado, o FormShare irá criar um ficheiro CSV para cada tabela multi-selecção. Mas não irá resolver campos multi-seleccionados. Clique em" #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:41 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:41 #: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 -msgid "" -"for more information about how FormShare stores \"select_multiple\" " -"variables." -msgstr "" -"para mais informações sobre como o FormShare armazena variáveis " -"\"select_multiple\"." +msgid "for more information about how FormShare stores \"select_multiple\" variables." +msgstr "para mais informações sobre como o FormShare armazena variáveis \"select_multiple\"." #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:47 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:47 @@ -3331,22 +3057,14 @@ msgstr "Tabelas de pesquisa para exportação" #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:50 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 -msgid "" -"When checked, FormShare will create a CSV file for each lookup table, but" -" it will not resolve option labels. Click" -msgstr "" -"Se esta opção for seleccionada, o FormShare criará um ficheiro CSV para " -"cada tabela de pesquisa, mas não resolverá as etiquetas das opções. " -"Clique em" +msgid "When checked, FormShare will create a CSV file for each lookup table, but it will not resolve option labels. Click" +msgstr "Se esta opção for seleccionada, o FormShare criará um ficheiro CSV para cada tabela de pesquisa, mas não resolverá as etiquetas das opções. Clique em" #: formshare/templates/dashboard/projects/forms/export/xlsx.jinja2:50 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:50 #: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 -msgid "" -"for more information about how FormShare stores \"select_one\" variables." -msgstr "" -"para mais informações sobre como o FormShare armazena as variáveis " -"\"select_one\"." +msgid "for more information about how FormShare stores \"select_one\" variables." +msgstr "para mais informações sobre como o FormShare armazena as variáveis \"select_one\"." #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_zip_csv.jinja2:2 #: formshare/templates/dashboard/projects/forms/export/zip_csv.jinja2:4 @@ -3361,20 +3079,12 @@ msgid "Export to Zip JSON" msgstr "Exportar para Zip JSON" #: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:41 -msgid "" -"When checked, FormShare will create a JSON file for each multiselect " -"table, but it will not resolve multiselect fields. Click" -msgstr "" -"Se verificado, o FormShare irá criar um ficheiro JSON para cada tabela " -"multi-selecção, mas não irá resolver os campos multi-selecção. Clique em" +msgid "When checked, FormShare will create a JSON file for each multiselect table, but it will not resolve multiselect fields. Click" +msgstr "Se verificado, o FormShare irá criar um ficheiro JSON para cada tabela multi-selecção, mas não irá resolver os campos multi-selecção. Clique em" #: formshare/templates/dashboard/projects/forms/export/zip_json.jinja2:50 -msgid "" -"When checked, FormShare will create a JSON file for each lookup table, " -"but it will not resolve option labels. Click" -msgstr "" -"Se marcado, o FormShare criará um ficheiro JSON para cada tabela de " -"pesquisa, mas não resolverá os rótulos das opções. Clique em" +msgid "When checked, FormShare will create a JSON file for each lookup table, but it will not resolve option labels. Click" +msgstr "Se marcado, o FormShare criará um ficheiro JSON para cada tabela de pesquisa, mas não resolverá os rótulos das opções. Clique em" #: formshare/templates/dashboard/projects/forms/export/snippets/brdcrbs_csv.jinja2:17 msgid "CSV Options" @@ -3424,9 +3134,7 @@ msgstr "para ajudá-lo a criar o arquivo zip." #: formshare/templates/dashboard/projects/forms/import_data/import_form.jinja2:62 msgid "Select an assistant who could help you fixing any issues with your data" -msgstr "" -"Selecione um assiste que possa te ajudar a consertar qualquer problema " -"com seus dados" +msgstr "Selecione um assiste que possa te ajudar a consertar qualquer problema com seus dados" #: formshare/templates/dashboard/projects/forms/import_data/import_form.jinja2:67 msgid "Data file" @@ -3459,43 +3167,20 @@ msgid "Here are some notes for importing data into FormShare" msgstr "Aqui estão algumas notas para importar dados para o FormShare" #: formshare/templates/dashboard/projects/forms/import_data/snippets/import_guide.jinja2:21 -msgid "" -"FormShare can import submissions from FormShare 1.0 as individual JSON " -"files or several in a zip file. The following image shows how to zip the " -"files." -msgstr "" -"O FormShare pode importar os envios do FormShare 1.0 em arquivos JSON " -"individuais ou múltiplos em um arquivo zip. A imagem a seguir mostra como" -" criar o arquivo zip." +msgid "FormShare can import submissions from FormShare 1.0 as individual JSON files or several in a zip file. The following image shows how to zip the files." +msgstr "O FormShare pode importar os envios do FormShare 1.0 em arquivos JSON individuais ou múltiplos em um arquivo zip. A imagem a seguir mostra como criar o arquivo zip." #: formshare/templates/dashboard/projects/forms/import_data/snippets/import_guide.jinja2:24 -msgid "" -"Store the submission files in a zip file. The files cannot be inside " -"directories. You can decide how to name each submission file and the zip " -"file." -msgstr "" -"Salve os arquivos de envio em um arquivo zip. Os arquivos de envio não " -"podem estar dentro de diretórios. Você pode decidir como nomear cada " -"arquivo de envio e o arquivo zip." +msgid "Store the submission files in a zip file. The files cannot be inside directories. You can decide how to name each submission file and the zip file." +msgstr "Salve os arquivos de envio em um arquivo zip. Os arquivos de envio não podem estar dentro de diretórios. Você pode decidir como nomear cada arquivo de envio e o arquivo zip." #: formshare/templates/dashboard/projects/forms/import_data/snippets/import_guide.jinja2:29 -msgid "" -"FormShare can import ODK Collect XML files. However, the files must be " -"inside a zip. The following image shows how to zip the files." -msgstr "" -"O FormShare pode importar arquivos XML do ODK Collect. No entanto, os " -"arquivos devem estar dentro de um arquivo zip. A imagem a seguir mostra " -"como construir o arquivo zip." +msgid "FormShare can import ODK Collect XML files. However, the files must be inside a zip. The following image shows how to zip the files." +msgstr "O FormShare pode importar arquivos XML do ODK Collect. No entanto, os arquivos devem estar dentro de um arquivo zip. A imagem a seguir mostra como construir o arquivo zip." #: formshare/templates/dashboard/projects/forms/import_data/snippets/import_guide.jinja2:32 -msgid "" -"Store the submissions in separate directories. Each directory must " -"contain the XML data file and any media files (if present). You can " -"decide how to name each directory, submission file, and zip file." -msgstr "" -"Armazene os envios em diretórios separados. Cada diretório deve conter o " -"arquivo de dados XML e quaisquer arquivos de mídia (se houver). Você pode" -" decidir como nomear cada diretório, arquivo de envio e arquivo zip." +msgid "Store the submissions in separate directories. Each directory must contain the XML data file and any media files (if present). You can decide how to name each directory, submission file, and zip file." +msgstr "Armazene os envios em diretórios separados. Cada diretório deve conter o arquivo de dados XML e quaisquer arquivos de mídia (se houver). Você pode decidir como nomear cada diretório, arquivo de envio e arquivo zip." #: formshare/templates/dashboard/projects/forms/map/marker_info.jinja2:16 #: formshare/templates/partner/map/marker_info.jinja2:16 @@ -3515,9 +3200,7 @@ msgstr "Multimídia na submissão" #: formshare/templates/dashboard/projects/forms/map/marker_info.jinja2:34 #: formshare/templates/partner/map/marker_info.jinja2:34 msgid "The submission date (Submitted date) is stored in FormShare's time zone" -msgstr "" -"A data de apresentação (Submitted date) é armazenada no fuso horário do " -"FormShare" +msgstr "A data de apresentação (Submitted date) é armazenada no fuso horário do FormShare" #: formshare/templates/dashboard/projects/forms/map/marker_info.jinja2:35 #: formshare/templates/partner/map/marker_info.jinja2:35 @@ -3613,12 +3296,8 @@ msgstr "Fazer download de arquivo CSV privado usando chave de acesso" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:29 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:95 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:169 -msgid "" -"Each private CSV product generated in FormShare has an API download link." -" Copy the link and place it below" -msgstr "" -"Cada produto CSV privado gerado no FormShare tem um link de download de " -"API. Copie o link e coloque abaixo" +msgid "Each private CSV product generated in FormShare has an API download link. Copy the link and place it below" +msgstr "Cada produto CSV privado gerado no FormShare tem um link de download de API. Copie o link e coloque abaixo" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:35 msgid "Where do you want to save the CSV file downloaded from FormShare?" @@ -3626,8 +3305,7 @@ msgstr "Onde você deseja salvar o arquivo CSV baixado do FormShare?" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:42 msgid "Define a dataset with the information that you want to update" -msgstr "" -"Definir um conjunto de dados com a informação que você deseja atualizar" +msgstr "Definir um conjunto de dados com a informação que você deseja atualizar" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:43 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:173 @@ -3649,22 +3327,14 @@ msgstr "A variável que você deseja alterar" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:46 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:110 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:176 -msgid "" -"This is the new value that you want to apply to the variable for the " -"selected unique row id (rowuuid)" -msgstr "" -"Este é um novo valor que você deseja aplicar à variável para o unique row" -" id (rowuuid) selecionado" +msgid "This is the new value that you want to apply to the variable for the selected unique row id (rowuuid)" +msgstr "Este é um novo valor que você deseja aplicar à variável para o unique row id (rowuuid) selecionado" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:47 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:112 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:180 -msgid "" -"In this example we will replace the variable income to read 1300 for the " -"unique row id (rowuuid)" -msgstr "" -"Neste exemplo nós vamos substituir a renda variável para ler 1300 para o " -"unique row id (rowuuid)" +msgid "In this example we will replace the variable income to read 1300 for the unique row id (rowuuid)" +msgstr "Neste exemplo nós vamos substituir a renda variável para ler 1300 para o unique row id (rowuuid)" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:52 msgid "Read the list of changes and push the updates to FormShare" @@ -3715,9 +3385,7 @@ msgstr "Colocar a modificação no FormShare" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:91 msgid "Python program: Download a private csv file using an access key" -msgstr "" -"Programa Python: Faça download do arquivo csv privado utilizando uma " -"chave de acesso" +msgstr "Programa Python: Faça download do arquivo csv privado utilizando uma chave de acesso" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:98 msgid "Where do you want to save the CSV file?" @@ -3732,11 +3400,8 @@ msgid "The list needs to have the following structure" msgstr "A lista precisa ter a seguinte estrutura" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:120 -msgid "" -"Python program: Read the list of changes and push the update to FormShare" -msgstr "" -"Programa Python: Leia a lista de modificações e coloque na atualização no" -" FormShare" +msgid "Python program: Read the list of changes and push the update to FormShare" +msgstr "Programa Python: Leia a lista de modificações e coloque na atualização no FormShare" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:126 #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:185 @@ -3780,12 +3445,8 @@ msgid "Setup your FormShare assistant API key. For example" msgstr "Configurar a sua chave de API do assistente do FormShare. Por exemplo" #: formshare/templates/dashboard/projects/forms/snippets/api_examples.jinja2:192 -msgid "" -"Create a JSON string using the data in the data frame. In this example " -"this will look like" -msgstr "" -"Criar uma cadeia JSON utilizando os dados no molde de dados. Neste " -"exemplo, vai se parecer com" +msgid "Create a JSON string using the data in the data frame. In this example this will look like" +msgstr "Criar uma cadeia JSON utilizando os dados no molde de dados. Neste exemplo, vai se parecer com" #: formshare/templates/dashboard/projects/forms/snippets/assistants_tab.jinja2:4 msgid "Assigned assistants" @@ -3830,12 +3491,8 @@ msgstr "estão inativos" #: formshare/templates/dashboard/projects/forms/snippets/assistants_tab.jinja2:51 #: formshare/templates/dashboard/projects/forms/snippets/assistants_tab.jinja2:53 -msgid "" -"Assistants help you to collect and clean data. Add one by clicking on the" -" + button" -msgstr "" -"Assistentes ajudam você a coletar e limpar dados. Adicione um ao clicar " -"no botão +" +msgid "Assistants help you to collect and clean data. Add one by clicking on the + button" +msgstr "Assistentes ajudam você a coletar e limpar dados. Adicione um ao clicar no botão +" #: formshare/templates/dashboard/projects/forms/snippets/brdcrbs_compare_forms.jinja2:2 msgid "Changes made to " @@ -4109,12 +3766,8 @@ msgid "test submissions." msgstr "remessas de teste." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:126 -msgid "" -"After you create the repository, you can receive any number of " -"submissions." -msgstr "" -"Após a criação do repositório, o formulário pode receber qualquer número " -"de submissões." +msgid "After you create the repository, you can receive any number of submissions." +msgstr "Após a criação do repositório, o formulário pode receber qualquer número de submissões." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:127 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:132 @@ -4133,9 +3786,7 @@ msgstr "casos de teste." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:131 msgid "After you create the repository, you can receive any number of cases." -msgstr "" -"Após a criação do repositório, o formulário pode receber qualquer número " -"de casos." +msgstr "Após a criação do repositório, o formulário pode receber qualquer número de casos." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:140 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:158 @@ -4146,21 +3797,13 @@ msgstr "Nota importante!" #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:142 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:160 -msgid "" -"This form is in testing stage. This means that you can update it at all " -"times and submissions are for testing purposes. " -msgstr "" -"Este formulário está em fase de testes. Isso significa que você pode " -"atualiza-lo quando quiser e as submissões são para fins de teste. " +msgid "This form is in testing stage. This means that you can update it at all times and submissions are for testing purposes. " +msgstr "Este formulário está em fase de testes. Isso significa que você pode atualiza-lo quando quiser e as submissões são para fins de teste. " #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:144 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:162 -msgid "" -"This form is in testing stage. This means that you can update it at all " -"times and cases are for testing purposes. " -msgstr "" -"Este formulário está em fase de testes. Isso significa que você pode " -"atualiza-lo quando quiser e os casos são para fins de teste. " +msgid "This form is in testing stage. This means that you can update it at all times and cases are for testing purposes. " +msgstr "Este formulário está em fase de testes. Isso significa que você pode atualiza-lo quando quiser e os casos são para fins de teste. " #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:147 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:165 @@ -4183,27 +3826,16 @@ msgid "IMPORTANT INFORMATION:" msgstr "INFORMAÇÃO IMPORTANTE:" #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:151 -msgid "" -"FormShare has checked your form and it has problems. FormShare will not " -"be able to create a repository from it." -msgstr "" -"FormShare verificou seu formulário e ele está com problemas. Não será " -"possível de criar um repositório a partir deste formulário." +msgid "FormShare has checked your form and it has problems. FormShare will not be able to create a repository from it." +msgstr "FormShare verificou seu formulário e ele está com problemas. Não será possível de criar um repositório a partir deste formulário." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:151 msgid "Click here to see the problems." msgstr "Clique aqui para ver os problemas." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:154 -#| msgid "" "FormShare needs you to upload all required files before it can -#| check your" " form completely" -msgid "" -"FormShare needs you to upload all required files before it can check your" -" form completely. See the section \"Form files\" below in this page." -msgstr "" -"O FormShare precisa que você carregue todos os arquivos necessários antes" -" de verificar completamente seu formulário. Consulte a seção \"Arquivos de" -" formulário\" mais abaixo nesta página." +msgid "FormShare needs you to upload all required files before it can check your form completely. See the section \"Form files\" below in this page." +msgstr "O FormShare precisa que você carregue todos os arquivos necessários antes de verificar completamente seu formulário. Consulte a seção \"Arquivos de formulário\" mais abaixo nesta página." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:165 msgid "merge it into the repository of " @@ -4218,24 +3850,12 @@ msgid "Click here to see the problems" msgstr "Clique aqui para ver os problemas." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:170 -msgid "" -"FormShare needs you to upload all required files before it pre-checks the" -" form for merging" -msgstr "" -"O FormShare precisa que você carregue todos os arquivos requeridos antes " -"que seja checado o formulário para fusão." +msgid "FormShare needs you to upload all required files before it pre-checks the form for merging" +msgstr "O FormShare precisa que você carregue todos os arquivos requeridos antes que seja checado o formulário para fusão." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:184 -msgid "" -"This form is still in testing stage. Your last attempt to generate its " -"repository reported an error. This is unexpected and an email has been " -"sent to the technical team. A representative will contact you ASAP with a" -" solution." -msgstr "" -"O formulário ainda está em fase de testes. Sua última tentativa de gerar " -"um repositório para ele reportou um erro. Isso é inesperado e um e-mail " -"foi enviado à equipe técnica. Um representante vai te contatar o quanto " -"antes com uma solução." +msgid "This form is still in testing stage. Your last attempt to generate its repository reported an error. This is unexpected and an email has been sent to the technical team. A representative will contact you ASAP with a solution." +msgstr "O formulário ainda está em fase de testes. Sua última tentativa de gerar um repositório para ele reportou um erro. Isso é inesperado e um e-mail foi enviado à equipe técnica. Um representante vai te contatar o quanto antes com uma solução." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:185 #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:210 @@ -4256,15 +3876,8 @@ msgid "Scheduling...." msgstr "Agendando..." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:209 -msgid "" -"This form is still in testing stage. Your last attempt to merge it " -"reported an error. This is unexpected and an email has been sent to the " -"technical team. A representative will contact you ASAP with a solution." -msgstr "" -"O formulário ainda está em fase de testes. Sua última tentativa de fundi-" -"lo reportou um erro. Isso é inesperado e um e-mail foi enviado à nossa " -"equipe técnica. Um representante irá contatá-lo o quanto antes com uma " -"solução." +msgid "This form is still in testing stage. Your last attempt to merge it reported an error. This is unexpected and an email has been sent to the technical team. A representative will contact you ASAP with a solution." +msgstr "O formulário ainda está em fase de testes. Sua última tentativa de fundi-lo reportou um erro. Isso é inesperado e um e-mail foi enviado à nossa equipe técnica. Um representante irá contatá-lo o quanto antes com uma solução." #: formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2:210 msgid "try again." @@ -4470,9 +4083,7 @@ msgstr "Sub-versão" #: formshare/templates/dashboard/projects/forms/snippets/info_tab.jinja2:74 msgid "The merge check will start once all required files are uploaded" -msgstr "" -"A checagem de fusão começará uma vez que todos os arquivos requeridos " -"forem carregados" +msgstr "A checagem de fusão começará uma vez que todos os arquivos requeridos forem carregados" #: formshare/templates/dashboard/projects/forms/snippets/info_tab.jinja2:74 msgid "Merge check pending" @@ -4495,9 +4106,7 @@ msgstr "Criar repositório" #: formshare/templates/dashboard/projects/forms/snippets/info_tab.jinja2:98 msgid "The repository check will start once all required files are uploaded" -msgstr "" -"A verificação de repositório começará uma vez que todos os arquivos " -"necessários forem carregados" +msgstr "A verificação de repositório começará uma vez que todos os arquivos necessários forem carregados" #: formshare/templates/dashboard/projects/forms/snippets/info_tab.jinja2:98 msgid "Repository check pending" @@ -4596,9 +4205,7 @@ msgstr "Configurações ODK" #: formshare/templates/dashboard/projects/forms/snippets/links_tab.jinja2:54 msgid "Anyone can submit data to this form. This project uses crowdsourcing" -msgstr "" -"Qualquer pessoa pode submeter dados a este formulário. Este projecto " -"utiliza a colaboração colectiva" +msgstr "Qualquer pessoa pode submeter dados a este formulário. Este projecto utiliza a colaboração colectiva" #: formshare/templates/dashboard/projects/forms/snippets/links_tab.jinja2:54 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:38 @@ -4713,13 +4320,8 @@ msgstr "Atualizado" #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:67 #: formshare/templates/partner/snippets/product_item.jinja2:38 -msgid "" -"This product was created before the last submission and/or before the " -"last data cleaning update and/or before the last fixed log entry" -msgstr "" -"Este produto foi criado antes da última submissão e/ou antes da última " -"atualização de limpeza de dados e/ou u antes da última correção de " -"registro de submissões" +msgid "This product was created before the last submission and/or before the last data cleaning update and/or before the last fixed log entry" +msgstr "Este produto foi criado antes da última submissão e/ou antes da última atualização de limpeza de dados e/ou u antes da última correção de registro de submissões" #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:67 #: formshare/templates/dashboard/projects/forms/snippets/product_item.jinja2:72 @@ -4772,12 +4374,8 @@ msgid "Repository error log" msgstr "Registro de erro de repositório" #: formshare/templates/dashboard/projects/forms/snippets/repository_errors.jinja2:10 -msgid "" -"The following errors happened while trying to create the repository for " -"this form:" -msgstr "" -"Os seguintes erros ocorreram ao tentar criar o repositório para este " -"formulário:" +msgid "The following errors happened while trying to create the repository for this form:" +msgstr "Os seguintes erros ocorreram ao tentar criar o repositório para este formulário:" #: formshare/templates/dashboard/projects/forms/snippets/repository_tab.jinja2:4 msgid "Repository tools" @@ -4828,12 +4426,8 @@ msgid "Select the ODK Form that you want to upload into FormShare" msgstr "Selecione o formulário ODK que deseja enviar para o FormShare" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:33 -msgid "" -"In the ODK Form that you are uploading into FormShare, which variable " -"will be used to control duplicate submissions?" -msgstr "" -"No formulário ODK que você está enviando para o FormShare, qual variável " -"será usada para controlar envios duplicados?" +msgid "In the ODK Form that you are uploading into FormShare, which variable will be used to control duplicate submissions?" +msgstr "No formulário ODK que você está enviando para o FormShare, qual variável será usada para controlar envios duplicados?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:34 msgid "You need to indicate the variable to control duplicate submissions" @@ -4841,29 +4435,13 @@ msgstr "Você deve indicar a variável para controlar remessas duplicadas" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:35 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:50 -msgid "" -"To control duplicate submissions, you need to select a variable from your" -" ODK Form whose values will be UNIQUE across all the submissions that you" -" expect to have. If you need to join two or more variables to become " -"UNIQUE, then use an ODK Calculate to merge them into one variable. This " -"variable will become the Primary Key of your ODK Form and CANNOT BE " -"CHANGED afterward." -msgstr "" -"Para controlar os envios duplicados, você deve selecionar uma variável em" -" seu formulário ODK cujos valores serão ÚNICOS em todos os envios que " -"você espera ter. Se você precisar unir duas ou mais variáveis ​​para " -"criar uma variável UNIQUE, use um ODK Calculate para unir essas " -"variáveis. Essa variável se tornará a chave primária do seu formulário " -"ODK e NÃO PODE SER ALTERADA posteriormente." +msgid "To control duplicate submissions, you need to select a variable from your ODK Form whose values will be UNIQUE across all the submissions that you expect to have. If you need to join two or more variables to become UNIQUE, then use an ODK Calculate to merge them into one variable. This variable will become the Primary Key of your ODK Form and CANNOT BE CHANGED afterward." +msgstr "Para controlar os envios duplicados, você deve selecionar uma variável em seu formulário ODK cujos valores serão ÚNICOS em todos os envios que você espera ter. Se você precisar unir duas ou mais variáveis ​​para criar uma variável UNIQUE, use um ODK Calculate para unir essas variáveis. Essa variável se tornará a chave primária do seu formulário ODK e NÃO PODE SER ALTERADA posteriormente." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:42 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:62 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to identify each case?" -msgstr "" -"Neste formulário ODK que você está enviando para o FormShare, qual " -"variável será usada para identificar cada caso?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to identify each case?" +msgstr "Neste formulário ODK que você está enviando para o FormShare, qual variável será usada para identificar cada caso?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:43 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:63 @@ -4872,28 +4450,13 @@ msgstr "Você deve indicar uma variável para identificar cada caso" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:44 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:64 -msgid "" -"Each case must be UNIQUE. You need to select a variable from your ODK " -"Form whose values will be UNIQUE across all the cases that you expect to " -"have. If you need to join two or more variables to become UNIQUE, then " -"use an ODK Calculate to merge them into one variable. This variable will " -"become the Primary Key of your ODK Form and CANNOT BE CHANGED afterward." -msgstr "" -"Cada caso deve ser ÚNICO. Você precisa selecionar uma variável em seu " -"formulário ODK cujos valores serão ÚNICOS em todos os casos que você " -"espera ter. Se você precisar juntar duas ou mais variáveis ​​para gerar " -"uma variável ÚNICA, use um ODK Calculate para juntá-las em uma variável. " -"Essa variável se tornará a chave primária do seu formulário ODK e NÃO " -"PODE SER ALTERADA posteriormente." +msgid "Each case must be UNIQUE. You need to select a variable from your ODK Form whose values will be UNIQUE across all the cases that you expect to have. If you need to join two or more variables to become UNIQUE, then use an ODK Calculate to merge them into one variable. This variable will become the Primary Key of your ODK Form and CANNOT BE CHANGED afterward." +msgstr "Cada caso deve ser ÚNICO. Você precisa selecionar uma variável em seu formulário ODK cujos valores serão ÚNICOS em todos os casos que você espera ter. Se você precisar juntar duas ou mais variáveis ​​para gerar uma variável ÚNICA, use um ODK Calculate para juntá-las em uma variável. Essa variável se tornará a chave primária do seu formulário ODK e NÃO PODE SER ALTERADA posteriormente." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:48 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:68 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to label each case?" -msgstr "" -"Neste formulário ODK que você está enviando para o FormShare, qual " -"variável será usada para rotular cada caso?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to label each case?" +msgstr "Neste formulário ODK que você está enviando para o FormShare, qual variável será usada para rotular cada caso?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:49 msgid "You need to indicate the variable to label each case" @@ -4901,18 +4464,8 @@ msgstr "Você deve indicar uma variável para rotular cada caso" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:50 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:70 -msgid "" -"Each case needs to have a label. You need to select a variable from your " -"ODK Form to label each case. Follow-up forms will use this variable to " -"search and select each case. If you need to join two or more variables to" -" create a label, then use an ODK Calculate to merge them into one " -"variable." -msgstr "" -"Cada caixa deve ter uma etiqueta. Você deve selecionar uma variável de " -"seu formulário ODK para rotular cada caso. Os formulários de rastreamento" -" usarão esta variável parapesquisar e selecionar cada caso. Se você " -"precisar juntar duas ou mais variáveis ​​para criar um rótulo, use um ODK" -" Calculate para juntá-las em uma variável." +msgid "Each case needs to have a label. You need to select a variable from your ODK Form to label each case. Follow-up forms will use this variable to search and select each case. If you need to join two or more variables to create a label, then use an ODK Calculate to merge them into one variable." +msgstr "Cada caixa deve ter uma etiqueta. Você deve selecionar uma variável de seu formulário ODK para rotular cada caso. Os formulários de rastreamento usarão esta variável parapesquisar e selecionar cada caso. Se você precisar juntar duas ou mais variáveis ​​para criar um rótulo, use um ODK Calculate para juntá-las em uma variável." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:55 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:81 @@ -4932,12 +4485,8 @@ msgid "Follow-up and activate case form" msgstr "Formulário de rastreamento e ativação do caso" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:62 -msgid "" -"In the ODK Form that you are uploading into FormShare, which variable " -"will be used to search and select a case?" -msgstr "" -"No formulário ODK que você está enviando para o FormShare, qual variável " -"será usada para localizar e selecionar um caso?" +msgid "In the ODK Form that you are uploading into FormShare, which variable will be used to search and select a case?" +msgstr "No formulário ODK que você está enviando para o FormShare, qual variável será usada para localizar e selecionar um caso?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:63 msgid "You need to indicate the variable to search and select cases" @@ -4945,12 +4494,8 @@ msgstr "Você deve indicar a variável para pesquisar e selecionar casos" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:64 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:91 -msgid "" -"This variable MUST BE either a \"select_one_from_file\" (The file MUST BE" -" CSV) or a \"barcode\"." -msgstr "" -"Esta variável DEVE SER do tipo \"select_one_from_file\" (O arquivo DEVE " -"SER CSV) ou do tipo \"código de barras\"." +msgid "This variable MUST BE either a \"select_one_from_file\" (The file MUST BE CSV) or a \"barcode\"." +msgstr "Esta variável DEVE SER do tipo \"select_one_from_file\" (O arquivo DEVE SER CSV) ou do tipo \"código de barras\"." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:64 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:91 @@ -4958,37 +4503,20 @@ msgid "Download an example the CSV file " msgstr "Baixe um arquivo CSV de amostra" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:68 -msgid "" -"In the ODK Form that you are uploading into FormShare, which variable " -"will be used to record the date or the date and time of a new data point " -"attached to a case?" -msgstr "" -"No formulário ODK que você está enviando para o FormShare, qual variável " -"será usada para registrar a data ou o carimbo de data / hora de um novo " -"ponto de dados anexado a um caso?" +msgid "In the ODK Form that you are uploading into FormShare, which variable will be used to record the date or the date and time of a new data point attached to a case?" +msgstr "No formulário ODK que você está enviando para o FormShare, qual variável será usada para registrar a data ou o carimbo de data / hora de um novo ponto de dados anexado a um caso?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:69 msgid "You need to indicate the variable to record date or date and time." msgstr "Você deve indicar uma variável para armazenar a data ou a data e hora" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:70 -msgid "" -"Follow-up case forms attach data to a case. Each case can have different " -"data at different points in time. Each data point must have a date. This " -"variable MUST BE either \"date\" or \"datetime\"." -msgstr "" -"Os formulários de rastreamento anexam dados a um caso. Cada caso pode ter" -" dados diferentes em momentos diferentes (pontos de dados ao longo do " -"tempo). Cada ponto de dados deve ter uma data. Esta variável DEVE SER " -"\"data\" ou \"data e hora\"." +msgid "Follow-up case forms attach data to a case. Each case can have different data at different points in time. Each data point must have a date. This variable MUST BE either \"date\" or \"datetime\"." +msgstr "Os formulários de rastreamento anexam dados a um caso. Cada caso pode ter dados diferentes em momentos diferentes (pontos de dados ao longo do tempo). Cada ponto de dados deve ter uma data. Esta variável DEVE SER \"data\" ou \"data e hora\"." #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:74 -msgid "" -"In the ODK Form that you are uploading into FormShare, which variable " -"will be used to control duplicate cases?" -msgstr "" -"No formulário ODK que você está enviando para o FormShare, qual variável " -"será usada para lidar com casos duplicados?" +msgid "In the ODK Form that you are uploading into FormShare, which variable will be used to control duplicate cases?" +msgstr "No formulário ODK que você está enviando para o FormShare, qual variável será usada para lidar com casos duplicados?" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:75 #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:102 @@ -4996,30 +4524,8 @@ msgid "You need to indicate the variable to control duplicate cases" msgstr "Você deve indicar uma variável para controlar casos duplicados" #: formshare/templates/dashboard/projects/forms/snippets/update_form.jinja2:76 -msgid "" -"To control duplicate cases, you need to join two or more variables to " -"become UNIQUE. For example, use an ODK Calculate to join the variable " -"that you selected above to search and select a case with the variable " -"that you selected above to record the date of new data point attached to " -"a case. This ODK Calculate will become the Primary Key of your ODK Form " -"and CANNOT BE CHANGED afterwards." -msgstr "" -"Para lidar com casos duplicados, você deve unir duas ou mais variáveis " -"​​para criar uma variável SINGLE. Por exemplo, use um ODK Calculate para " -"combinar a variável que você selecionou anteriormente para encontrar e " -"selecionar casos com a variável que você selecionou anteriormente para " -"registrar a data. Este cálculo ODK se tornará a chave primária do seu " -"formulário ODK e NÃO PODE SER ALTERADO posteriormente." - -#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:7 -#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:7 -msgid "Upload file" -msgstr "Carregar arquivo" - -#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:17 -#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:17 -msgid "Choose files" -msgstr "Escolher arquivos" +msgid "To control duplicate cases, you need to join two or more variables to become UNIQUE. For example, use an ODK Calculate to join the variable that you selected above to search and select a case with the variable that you selected above to record the date of new data point attached to a case. This ODK Calculate will become the Primary Key of your ODK Form and CANNOT BE CHANGED afterwards." +msgstr "Para lidar com casos duplicados, você deve unir duas ou mais variáveis ​​para criar uma variável SINGLE. Por exemplo, use um ODK Calculate para combinar a variável que você selecionou anteriormente para encontrar e selecionar casos com a variável que você selecionou anteriormente para registrar a data. Este cálculo ODK se tornará a chave primária do seu formulário ODK e NÃO PODE SER ALTERADO posteriormente." #: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:21 #: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:21 @@ -5031,12 +4537,6 @@ msgstr "Substituir" msgid "Overwrite any existent file" msgstr "Substituir arquivos existentes" -#: formshare/templates/dashboard/projects/forms/snippets/upload_file.jinja2:30 -#: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:117 -#: formshare/templates/dashboard/projects/snippets/upload_file.jinja2:30 -msgid "Upload" -msgstr "Carregar" - #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:9 msgid "Upload form" msgstr "Carregar formulário" @@ -5062,12 +4562,8 @@ msgid "Upload case form for merging" msgstr "Carregar formulário de caso para fusão" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:48 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to control duplicate submissions?" -msgstr "" -"Neste formulário ODK que você está enviando para o FormShare, qual " -"variável será usada para controlar envios duplicados?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to control duplicate submissions?" +msgstr "Neste formulário ODK que você está enviando para o FormShare, qual variável será usada para controlar envios duplicados?" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:49 msgid "You need to indicate the variable to control duplicate data" @@ -5098,67 +4594,32 @@ msgid "Follow-up and activate" msgstr "Rastreamento e ativação" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:89 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to search and select a case?" -msgstr "" -"Neste formulário ODK que você está enviando para o FormShare, qual " -"variável será usada para localizar e selecionar um caso?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to search and select a case?" +msgstr "Neste formulário ODK que você está enviando para o FormShare, qual variável será usada para localizar e selecionar um caso?" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:90 msgid "You need to indicate the case selector variable" msgstr "Você deve indicar a variável para pesquisar e selecionar casos" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:95 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to record the date of a new data point attached to a case?" -msgstr "" -"Neste formulário ODK que você está enviando para o FormShare, qual " -"variável será usada para registrar a data de um novo ponto de dados " -"anexado a um caso?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to record the date of a new data point attached to a case?" +msgstr "Neste formulário ODK que você está enviando para o FormShare, qual variável será usada para registrar a data de um novo ponto de dados anexado a um caso?" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:96 msgid "You need to indicate the case datetime variable" msgstr "Você deve indicar a variável que irá armazenar a data" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:97 -msgid "" -"Follow-up forms attach data to a case. Each case can have different data " -"at different points in time. Each data point must have a date. This " -"variable MUST BE either \"date\" or \"datetime\"." -msgstr "" -"Os formulários de rastreamento anexam dados a um caso. Cada caso pode ter" -" dados em momentos diferentes (pontos de dados ao longo do tempo). Cada " -"ponto de dados deve ter uma data. Esta variável DEVE SER do tipo \"data\"" -" ou \"data e hora\"." +msgid "Follow-up forms attach data to a case. Each case can have different data at different points in time. Each data point must have a date. This variable MUST BE either \"date\" or \"datetime\"." +msgstr "Os formulários de rastreamento anexam dados a um caso. Cada caso pode ter dados em momentos diferentes (pontos de dados ao longo do tempo). Cada ponto de dados deve ter uma data. Esta variável DEVE SER do tipo \"data\" ou \"data e hora\"." #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:101 -msgid "" -"In this ODK Form that you are uploading into FormShare, which variable " -"will be used to control duplicate data?" -msgstr "" -"Neste formulário ODK que você está enviando para o FormShare, qual " -"variável será usada para lidar com dados duplicados?" +msgid "In this ODK Form that you are uploading into FormShare, which variable will be used to control duplicate data?" +msgstr "Neste formulário ODK que você está enviando para o FormShare, qual variável será usada para lidar com dados duplicados?" #: formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2:103 -msgid "" -"Follow-up forms attach information to a case at different points in time." -" Therefore, the ID of the case + the date/datetime should be UNIQUE " -"across time. You just indicated above: a) The variable used to search and" -" select a case and b) The variable to record the date. In your ODK form " -"join these two variables into a \"calculate\" variable and paste its name" -" here. This variable will become the Primary Key of your ODK Form and " -"CANNOT BE CHANGED afterwards." -msgstr "" -"Os formulários de rastreamento anexam informações a um caso em momentos " -"diferentes (pontos de dados ao longo do tempo). Portanto, o ID do caso + " -"a data deve ser ÚNICO ao longo do tempo. Você acabou de indicar acima: a)" -" A variável usada para pesquisar e selecionar casos eb) A variável para " -"registrar a data. Em sua forma ODK, mescle essas duas variáveis ​​em uma " -"variável de \"cálculo\" e cole seus nomes aqui. Essa variável se tornará " -"a chave primária do seu formulário ODK e NÃO PODE SER ALTERADA " -"posteriormente." +msgid "Follow-up forms attach information to a case at different points in time. Therefore, the ID of the case + the date/datetime should be UNIQUE across time. You just indicated above: a) The variable used to search and select a case and b) The variable to record the date. In your ODK form join these two variables into a \"calculate\" variable and paste its name here. This variable will become the Primary Key of your ODK Form and CANNOT BE CHANGED afterwards." +msgstr "Os formulários de rastreamento anexam informações a um caso em momentos diferentes (pontos de dados ao longo do tempo). Portanto, o ID do caso + a data deve ser ÚNICO ao longo do tempo. Você acabou de indicar acima: a) A variável usada para pesquisar e selecionar casos eb) A variável para registrar a data. Em sua forma ODK, mescle essas duas variáveis ​​em uma variável de \"cálculo\" e cole seus nomes aqui. Essa variável se tornará a chave primária do seu formulário ODK e NÃO PODE SER ALTERADA posteriormente." #: formshare/templates/dashboard/projects/forms/snippets/upload_form_js.jinja2:5 msgid "One moment please..." @@ -5194,12 +4655,8 @@ msgid "You are going to delete all the submissions" msgstr "Você está prestes a excluir todas as submissões" #: formshare/templates/dashboard/projects/forms/submissions/edit_submissions.jinja2:90 -msgid "" -"Unless you want to start all over again, this is something that you " -"should not do!" -msgstr "" -"A menos que você deseje começar de novo, isso não é algo que você deva " -"fazer!" +msgid "Unless you want to start all over again, this is something that you should not do!" +msgstr "A menos que você deseje começar de novo, isso não é algo que você deva fazer!" #: formshare/templates/dashboard/projects/forms/submissions/edit_submissions.jinja2:91 msgid "Confirm your email address:" @@ -5243,12 +4700,8 @@ msgid "You are moving submission" msgstr "Você está movendo a submissão" #: formshare/templates/dashboard/projects/forms/submissions/snippets/move_to_logs.jinja2:13 -msgid "" -"from the repository to the logs. You need to indicate which assistant " -"will be in charge of handling the log entry" -msgstr "" -"do repositório para os registros. Você precisa indicar que assistente " -"será encarregado de lidar com a entrada de registro" +msgid "from the repository to the logs. You need to indicate which assistant will be in charge of handling the log entry" +msgstr "do repositório para os registros. Você precisa indicar que assistente será encarregado de lidar com a entrada de registro" #: formshare/templates/dashboard/projects/forms/submissions/snippets/move_to_logs.jinja2:30 msgid "Move" @@ -5278,27 +4731,13 @@ msgstr "Selecione uma opção" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:66 #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:52 -msgid "" -"Please note that FormShare will store the descriptions of variables and " -"choices in the primary language." -msgstr "" -"Favor notar que o FormShare armazenará a descrição de variáveis e " -"escolhas no idioma primário." +msgid "Please note that FormShare will store the descriptions of variables and choices in the primary language." +msgstr "Favor notar que o FormShare armazenará a descrição de variáveis e escolhas no idioma primário." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:68 #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:59 -msgid "" -"The language called \"default\" appears when you have a \"label\" or " -"\"hint\" without indicating a language. For example if you have a column " -"called \"label\" and another called \"label:English (es)\" then " -"\"default\" refers to the language of \"label\" which is not indicated in" -" the ODK Form." -msgstr "" -"O idioma chamado \"default\" aparece quando você tem um \"label\" " -"ou\"hint\" sem indicar seu idioma. Por exemplo, se você tiver uma " -"colunachamado \"label\" e outro chamado \"label::English (en)\", " -"então\"padrão\" refere-se ao idioma do \"label\" cujo idioma não foi " -"indicado em o formulário ODK." +msgid "The language called \"default\" appears when you have a \"label\" or \"hint\" without indicating a language. For example if you have a column called \"label\" and another called \"label:English (es)\" then \"default\" refers to the language of \"label\" which is not indicated in the ODK Form." +msgstr "O idioma chamado \"default\" aparece quando você tem um \"label\" ou\"hint\" sem indicar seu idioma. Por exemplo, se você tiver uma colunachamado \"label\" e outro chamado \"label::English (en)\", então\"padrão\" refere-se ao idioma do \"label\" cujo idioma não foi indicado em o formulário ODK." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:72 #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:63 @@ -5330,24 +4769,16 @@ msgid "Oops! Something went wrong!" msgstr "Oops! Alguma coisa deu errado!" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:93 -msgid "" -"The process returned an unexpected error. An email has been sent to the " -"technical team." -msgstr "" -"O processo resultou em um erro inesperado. Um e-mail foi enviado à equipe" -" técnica." +msgid "The process returned an unexpected error. An email has been sent to the technical team." +msgstr "O processo resultou em um erro inesperado. Um e-mail foi enviado à equipe técnica." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:96 msgid "Your ODK form has duplicated options." msgstr "Seu formulário ODK tem opções duplicadas" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:97 -msgid "" -"You need to fix the below errors in CSV files, upload the new version and" -" continue the process." -msgstr "" -"Você precisa consertar os erros abaixo nos arquivos CSV, carregar uma " -"nova versão e continuar o processo." +msgid "You need to fix the below errors in CSV files, upload the new version and continue the process." +msgstr "Você precisa consertar os erros abaixo nos arquivos CSV, carregar uma nova versão e continuar o processo." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:100 msgid "CSV with duplicated options" @@ -5421,35 +4852,20 @@ msgid "has invalid characters" msgstr "tem caracteres inválidos" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:145 -msgid "" -"cannot be read or you are mixing select options in CSV with options in " -"the choices sheet." -msgstr "" -"não pode ser lido ou está misturando opções de seleção em CSV com opções " -"de planilha de escolhas." +msgid "cannot be read or you are mixing select options in CSV with options in the choices sheet." +msgstr "não pode ser lido ou está misturando opções de seleção em CSV com opções de planilha de escolhas." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:147 -msgid "" -"Please check the CSV file and whether you are mixing select options in " -"the choices sheet with options in a CSV for a single list_name and move " -"all the select options to the CSV" -msgstr "" -"Verifique o arquivo CSV e se você está misturando opções de seleção nas " -"planilhas de escolha com opções em um CSV para um único list_name e mover" -" todas as opções de seleção para o CSV" +msgid "Please check the CSV file and whether you are mixing select options in the choices sheet with options in a CSV for a single list_name and move all the select options to the CSV" +msgstr "Verifique o arquivo CSV e se você está misturando opções de seleção nas planilhas de escolha com opções em um CSV para um único list_name e mover todas as opções de seleção para o CSV" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:151 msgid "Your ODK form has duplicated list names in the choices sheet" -msgstr "" -"Seu formulário ODK tem nomes de lista duplicados na planilha de escolhas" +msgstr "Seu formulário ODK tem nomes de lista duplicados na planilha de escolhas" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:152 -msgid "" -"You need to fix the below errors in the ODK form, upload the new version " -"and continue the process." -msgstr "" -"Você precisa consertar os erros abaixo no formulário ODK, carregar uma " -"nova versão e continuar o processo." +msgid "You need to fix the below errors in the ODK form, upload the new version and continue the process." +msgstr "Você precisa consertar os erros abaixo no formulário ODK, carregar uma nova versão e continuar o processo." #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:155 msgid "List name" @@ -5468,8 +4884,7 @@ msgid "The following tables have a name with more than 64 characters:" msgstr "As tabelas a seguir têm um nome com mais de 64 caracteres:" #: formshare/templates/dashboard/projects/repository/create_repository.jinja2:177 -msgid "" -"Please shorten the names of the tables and/or the selects and try again." +msgid "Please shorten the names of the tables and/or the selects and try again." msgstr "Reduza os nomes das tabelas e / ou listas de opções e tente novamente." #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:4 @@ -5479,51 +4894,28 @@ msgid "Fix languages" msgstr "Idiomas corretos" #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:38 -msgid "" -"On this page, we assume that you know the language of the repository and " -"that the changes that you are making here to merge this new version are " -"correct. You assume the risks of ending up with an inconsistent " -"repository." -msgstr "" -"Nesta página, presumimos que você conhece o idioma do repositório eque as" -" mudanças que você está fazendo aqui para mesclar esta nova versão " -"sãocorreto. Você corre o risco de acabar com um repositório " -"inconsistente." +msgid "On this page, we assume that you know the language of the repository and that the changes that you are making here to merge this new version are correct. You assume the risks of ending up with an inconsistent repository." +msgstr "Nesta página, presumimos que você conhece o idioma do repositório eque as mudanças que você está fazendo aqui para mesclar esta nova versão sãocorreto. Você corre o risco de acabar com um repositório inconsistente." #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:54 msgid "The language of the previous form was" msgstr "A linguagem do formulário acima é" #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:56 -msgid "" -"The previous version of the form WAS NOT in multiple languages. You need " -"to be very careful in indicating now the default language!!" -msgstr "" -"A versão anterior deste formulário NÃO ESTAVA em vários idiomas. Você " -"precisa ter muito cuidado ao inserir o idioma padrão agora !!" +msgid "The previous version of the form WAS NOT in multiple languages. You need to be very careful in indicating now the default language!!" +msgstr "A versão anterior deste formulário NÃO ESTAVA em vários idiomas. Você precisa ter muito cuidado ao inserir o idioma padrão agora !!" #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:75 -msgid "" -"This version does not have any languages. However, the previous version " -"had different languages." -msgstr "" -"Esta versão não possui idioma. No entanto, a versão anterior tinha " -"idiomas diferentes." +msgid "This version does not have any languages. However, the previous version had different languages." +msgstr "Esta versão não possui idioma. No entanto, a versão anterior tinha idiomas diferentes." #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:77 -msgid "" -"By fixing it, you assume that the language of this new version of the " -"form is" -msgstr "" -"Ao corrigi-lo, ele assume que o idioma desta nova versão do formulário é" +msgid "By fixing it, you assume that the language of this new version of the form is" +msgstr "Ao corrigi-lo, ele assume que o idioma desta nova versão do formulário é" #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:77 -msgid "" -"If that is not correct then you will end up with an inconsistent " -"repository." -msgstr "" -"Se isso não estiver correto, você terminará com um repositório " -"inconsistente." +msgid "If that is not correct then you will end up with an inconsistent repository." +msgstr "Se isso não estiver correto, você terminará com um repositório inconsistente." #: formshare/templates/dashboard/projects/repository/fix_language.jinja2:81 msgid "I assume the risks. Fix the languages" @@ -5546,8 +4938,7 @@ msgid "FormShare will perform more checks on" msgstr "O FormShare realizará mais checagens em" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:41 -msgid "" -"and report whether or not is possible to merge it into the repository of" +msgid "and report whether or not is possible to merge it into the repository of" msgstr "e reportar se é possível ou não fundi-lo no repositório de" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:41 @@ -5568,25 +4959,18 @@ msgstr "você tem a repetição B dentro da repetição A mas em " #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:44 msgid "you have repeat A and repeat C but repeat B is now inside C." -msgstr "" -"você tem a repetição A e a repetição C mas a repetição B agora está " -"dentro de C." +msgstr "você tem a repetição A e a repetição C mas a repetição B agora está dentro de C." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:45 msgid "Change a string variable into integer." msgstr "Alterar a variável de cadeira em um número inteiro." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:46 -msgid "" -"Change a variable from select one into select multiple and the other way " -"around." -msgstr "" -"Alterar a variável de seleção única para seleção múltipla e vice-versa." +msgid "Change a variable from select one into select multiple and the other way around." +msgstr "Alterar a variável de seleção única para seleção múltipla e vice-versa." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:47 -msgid "" -"Change a variable from categorical into continuous and the other way " -"around." +msgid "Change a variable from categorical into continuous and the other way around." msgstr "Alterar a variável de categórica para contínua e vice-versa." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:48 @@ -5598,54 +4982,32 @@ msgid "you have \"1-Male\" but in" msgstr "você tem \"1-Macho\" mas em" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:48 -msgid "" -"you have \"1-Man\". In this case FormShare will ask you if such a change " -"should be ignored because this could be a typo fix between versions, " -"however" -msgstr "" -"você tem \"1-Man\". Neste caso o FormShare perguntará se tal mudança deve" -" ser ignorada porque isso pode ser um erro de digitação entre versões, " -"porém" +msgid "you have \"1-Man\". In this case FormShare will ask you if such a change should be ignored because this could be a typo fix between versions, however" +msgstr "você tem \"1-Man\". Neste caso o FormShare perguntará se tal mudança deve ser ignorada porque isso pode ser um erro de digitação entre versões, porém" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:48 msgid "YOU ASSUME THE RISK." msgstr "VOCÊ ASSUME O RISCO." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:51 -msgid "" -"The merge will only apply incremental changes thus you will not lose " -"data. If for example you removed a variable in" -msgstr "" -"A fusão implementará apenas mudanças incrementais portanto você não " -"perderá dados. Se por exemplo você removeu uma variável em" +msgid "The merge will only apply incremental changes thus you will not lose data. If for example you removed a variable in" +msgstr "A fusão implementará apenas mudanças incrementais portanto você não perderá dados. Se por exemplo você removeu uma variável em" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:51 msgid "such variable will always exist in the repository of" msgstr "tal variável sempre existirá no repositório de" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:52 -msgid "" -"FormShare will apply the merge in a secure backup before any changes are " -"made to the repository of" -msgstr "" -"O FormShare implementará a fusão em uma cópia de segurança antes de " -"qualquer alteração ser feita no repositório de" +msgid "FormShare will apply the merge in a secure backup before any changes are made to the repository of" +msgstr "O FormShare implementará a fusão em uma cópia de segurança antes de qualquer alteração ser feita no repositório de" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:53 -msgid "" -"Any form using such repository will not accept changes until the merge is" -" committed or rolled-back." -msgstr "" -"Qualquer formulário que utiliza tal repositório não aceitará mudanças até" -" que o procedimento de fusão seja confirmado ou revertido." +msgid "Any form using such repository will not accept changes until the merge is committed or rolled-back." +msgstr "Qualquer formulário que utiliza tal repositório não aceitará mudanças até que o procedimento de fusão seja confirmado ou revertido." #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:73 -msgid "" -"There are changes in the descriptions of certain choice options. You can " -"merge such changes at" -msgstr "" -"Há mudanças nas descrições de certas opções de escolha. Você pode fundir " -"tais mudanças em" +msgid "There are changes in the descriptions of certain choice options. You can merge such changes at" +msgstr "Há mudanças nas descrições de certas opções de escolha. Você pode fundir tais mudanças em" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:73 msgid "YOUR OWN RISK" @@ -5660,21 +5022,13 @@ msgid "Discard all testing data (Option is \"No\" by default)" msgstr "Descartar todos os dados de teste (Padrão é \"Não\")" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:85 -msgid "" -"Change the switch if you DO NOT WANT to append the testing data into the " -"repository" -msgstr "" -"Alterne a chave se você NÃO QUER adicionar os dados de teste ao " -"repositório" +msgid "Change the switch if you DO NOT WANT to append the testing data into the repository" +msgstr "Alterne a chave se você NÃO QUER adicionar os dados de teste ao repositório" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:88 #: formshare/templates/dashboard/projects/repository/snippets/pkey_form.jinja2:10 -msgid "" -"The form does not have an assistant that can submit data. If you proceed " -"all testing data will get discarded!!!" -msgstr "" -"O formulário não tem um assistente que possa submeter dados. Se " -"aplicável, todos os dados de teste serão descartados!!!!" +msgid "The form does not have an assistant that can submit data. If you proceed all testing data will get discarded!!!" +msgstr "O formulário não tem um assistente que possa submeter dados. Se aplicável, todos os dados de teste serão descartados!!!!" #: formshare/templates/dashboard/projects/repository/merge_new_version.jinja2:95 msgid "Accept changes and merge new version" @@ -5705,12 +5059,8 @@ msgid "Which variable will be used to control duplicate submissions?" msgstr "Qual variável deve ser usada para controlar duplicatas?" #: formshare/templates/dashboard/projects/repository/snippets/pkey_form.jinja2:18 -msgid "" -"This will become the Primary Key of the repository. If you have more than" -" one variable then use an ODK Calculate to join them." -msgstr "" -"Esta se tornará a Chave Primária do repositório. Se você tiver mais de " -"uma variável, use um ODK Calculate para juntá-las." +msgid "This will become the Primary Key of the repository. If you have more than one variable then use an ODK Calculate to join them." +msgstr "Esta se tornará a Chave Primária do repositório. Se você tiver mais de uma variável, use um ODK Calculate para juntá-las." #: formshare/templates/dashboard/projects/snippets/brdcrbs_prjdtls.jinja2:2 #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:276 @@ -5739,7 +5089,7 @@ msgstr "Crie a tabela de pesquisa de caso antes de adicionar novos formulários" #: formshare/templates/dashboard/projects/snippets/no_forms.jinja2:16 #: formshare/templates/dashboard/projects/snippets/no_forms.jinja2:22 #: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:38 -#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:44 +#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:47 msgid "Add new form (Inactive)" msgstr "Adicionar novo formulário (Inativo)" @@ -5752,13 +5102,9 @@ msgid "Create the case lookup table" msgstr "Crie a tabela de pesquisa de caso" #: formshare/templates/dashboard/projects/snippets/no_forms.jinja2:22 -#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:44 -msgid "" -"You cannot add new forms while you have a case creator form in testing " -"stage." -msgstr "" -"Você não pode adicionar novos formulários enquanto tiver um formulário de" -" construtor de caso de estágio de teste." +#: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:47 +msgid "You cannot add new forms while you have a case creator form in testing stage." +msgstr "Você não pode adicionar novos formulários enquanto tiver um formulário de construtor de caso de estágio de teste." #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:38 msgid "Anyone can see the list of forms within this project" @@ -5769,12 +5115,10 @@ msgid "Without abstract" msgstr "Sem resumo" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:67 -#| msgid "User list" msgid "See full list" msgstr "Veja a lista completa" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:88 -#| msgid "Click / Tap and hold to remove assistants" msgid "Click / Tap and hold to delete assistants" msgstr "Clique/toque e segure para limpar os assistentes" @@ -5787,17 +5131,14 @@ msgid "more" msgstr "mais" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:103 -#| msgid "Change password" msgid "Edit items and change passwords" msgstr "Editar itens e alterar senhas" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:124 -#| msgid "User list" msgid "See list" msgstr "Ver lista" #: formshare/templates/dashboard/projects/snippets/project_details.jinja2:145 -#| msgid "Click / Tap and hold to remove groups" msgid "Click / Tap and hold to delete groups" msgstr "Clique/toque e segure para limpar grupos" @@ -5875,21 +5216,13 @@ msgid "Icon" msgstr "Ícone" #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:24 -msgid "" -"You will use this in ODK Collect to identify your project. Only the first" -" Emoji will be used." -msgstr "" -"Você usará isso no ODK Collect para identificar seu projeto. Apenas o " -"primeiro emoji será usado." +msgid "You will use this in ODK Collect to identify your project. Only the first Emoji will be used." +msgstr "Você usará isso no ODK Collect para identificar seu projeto. Apenas o primeiro emoji será usado." #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:36 #: formshare/templates/dashboard/projects/snippets/project_form_edit.jinja2:33 -msgid "" -"This should be the time zone where submissions happen. As a reference, " -"FormShare's time zone is " -msgstr "" -"Este deve ser o fuso horário em que são feitas as apresentações. Para " -"referência, o fuso horário do FormShare é " +msgid "This should be the time zone where submissions happen. As a reference, FormShare's time zone is " +msgstr "Este deve ser o fuso horário em que são feitas as apresentações. Para referência, o fuso horário do FormShare é " #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:42 msgid "Abstract" @@ -5905,12 +5238,8 @@ msgid "Use a case/longitudinal workflow" msgstr "Use um fluxo de trabalho longitudinal / caso" #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:51 -msgid "" -"This means that the forms in this project and their submissions will be " -"related to cases." -msgstr "" -"Isto significa que os formulários e apresentações deste projecto estarão " -"relacionados com o caso." +msgid "This means that the forms in this project and their submissions will be related to cases." +msgstr "Isto significa que os formulários e apresentações deste projecto estarão relacionados com o caso." #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:51 msgid "Read more about longitudinal forms" @@ -5925,13 +5254,8 @@ msgid "Requires authentication to accept data" msgstr "Requer autenticação para aceitar envios" #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:57 -msgid "" -"Uncheck if this project will allow crowdsourcing / public submissions. " -"Please note that this will apply to all forms within this project." -msgstr "" -"Desmarcar se este projecto irá permitir a colaboração colectiva / " -"apresentações públicas. É favor notar que isto se aplicará a todas as " -"formas neste projecto." +msgid "Uncheck if this project will allow crowdsourcing / public submissions. Please note that this will apply to all forms within this project." +msgstr "Desmarcar se este projecto irá permitir a colaboração colectiva / apresentações públicas. É favor notar que isto se aplicará a todas as formas neste projecto." #: formshare/templates/dashboard/projects/snippets/project_form.jinja2:66 msgid "Add project" @@ -5942,11 +5266,8 @@ msgstr "Adicionar projeto" msgid "Read-only because the project has forms" msgstr "Somente leitura porque o projeto possui formulários" -# | msgid "Create a repository to continue receiving submissions. The limit -# is" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:25 -msgid "" -"Create a repository to continue receiving submissions. \n" +msgid "Create a repository to continue receiving submissions. \n" "The limit is" msgstr "Criar um repositório para continuar a receber submissões. O limite é" @@ -5955,39 +5276,25 @@ msgstr "Criar um repositório para continuar a receber submissões. O limite é" msgid "Blocked" msgstr "Bloqueado" -# | msgid "Create a repository to continue receiving cases. The limit is" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:27 -msgid "" -"Create a repository to continue receiving cases. \n" +msgid "Create a repository to continue receiving cases. \n" "The limit is" msgstr "Criar um repositório para continuar a receber casos. O limite é" -# | msgid "" "You will need to create a repository soon to continue receiving -# " -# | "submissions. The limit is" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:34 -msgid "" -"You will need to create a repository soon to continue receiving " -"submissions. \n" +msgid "You will need to create a repository soon to continue receiving submissions. \n" "The limit is" -msgstr "" -"Terá de criar em breve um repositório para continuar a receber " -"submissões. O limite é" +msgstr "Terá de criar em breve um repositório para continuar a receber submissões. O limite é" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:34 #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:36 msgid "Near maximum" msgstr "Perto do limite" -# | msgid "" "You will need to create a repository soon to continue receiving -# | cases. " "The limit is" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:36 -msgid "" -"You will need to create a repository soon to continue receiving cases. \n" +msgid "You will need to create a repository soon to continue receiving cases. \n" "The limit is" -msgstr "" -"Terá de criar em breve um repositório para continuar a receber casos. O " -"limite é" +msgstr "Terá de criar em breve um repositório para continuar a receber casos. O limite é" #: formshare/templates/dashboard/projects/snippets/project_form_odk_item.jinja2:52 #: formshare/templates/partner/snippets/odk_form_item.jinja2:23 @@ -6043,9 +5350,7 @@ msgstr "Total" #: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:38 msgid "Create the real-time CSV case file before adding new forms" -msgstr "" -"Crie um arquivo CSV de casos em tempo real antes de adicionar novos " -"formulários" +msgstr "Crie um arquivo CSV de casos em tempo real antes de adicionar novos formulários" #: formshare/templates/dashboard/projects/snippets/project_forms.jinja2:41 msgid "View/edit the real-time CSV case file" @@ -6109,7 +5414,7 @@ msgstr "Adicionar assistente" #: formshare/templates/dashboard/snippets/footer.jinja2:4 #: formshare/templates/generic/login.jinja2:83 -#: formshare/templates/landing/snippets/contact.jinja2:50 +#: formshare/templates/landing/snippets/contact.jinja2:53 msgid "Version" msgstr "Versão" @@ -6191,9 +5496,7 @@ msgstr "Pesquisar por um usuário" #: formshare/templates/dashboard/users/user_list.jinja2:54 msgid "You can search by username, full name or email address" -msgstr "" -"Você pode pesquisar por nome de usuário, nome completo ou endereço de " -"e-mail" +msgstr "Você pode pesquisar por nome de usuário, nome completo ou endereço de e-mail" #: formshare/templates/dashboard/users/snippets/brdcrbs_useradd.jinja2:2 msgid "Add new user" @@ -6210,8 +5513,7 @@ msgstr "Nome de usuário" #: formshare/templates/dashboard/users/snippets/user_form.jinja2:6 msgid "The user name must be unique and cannot be changed afterwards" -msgstr "" -"O nome do usuário deve ser único e não pode ser alterado posteriormente" +msgstr "O nome do usuário deve ser único e não pode ser alterado posteriormente" #: formshare/templates/dashboard/users/snippets/user_form.jinja2:37 msgid "Is super user" @@ -6281,14 +5583,8 @@ msgid "Go to this URL" msgstr "Ir para este URL" #: formshare/templates/email/recover_email.jinja2:13 -msgid "" -"If you did not request us to reset your password then someone or " -"something is trying to get into our account. Please change your password " -"immediately!" -msgstr "" -"Se não nos pediu para redefinir a sua palavra-passe, então alguém ou algo" -" está a tentar entrar na sua conta. Por favor, altere a sua palavra-passe" -" imediatamente!" +msgid "If you did not request us to reset your password then someone or something is trying to get into our account. Please change your password immediately!" +msgstr "Se não nos pediu para redefinir a sua palavra-passe, então alguém ou algo está a tentar entrar na sua conta. Por favor, altere a sua palavra-passe imediatamente!" #: formshare/templates/email/token_email.jinja2:7 msgid "This email is a security alert" @@ -6296,23 +5592,16 @@ msgstr "Este e-mail é um alerta de segurança" #: formshare/templates/email/token_email.jinja2:8 msgid "A new API Token has been requested using you API key and secret" -msgstr "" -"Foi solicitada uma nova ficha API utilizando a sua chave e segredo API." +msgstr "Foi solicitada uma nova ficha API utilizando a sua chave e segredo API." #: formshare/templates/email/token_email.jinja2:9 msgid "The token will expire on " msgstr "A ficha expirará em " -# | msgid "" "If you did not generate a token then your account has been -# | compromised. " "Login into FormShare and change your API credentials -# | immediately!" #: formshare/templates/email/token_email.jinja2:11 -msgid "" -"If you did not generate a token then your account has been compromised.\n" +msgid "If you did not generate a token then your account has been compromised.\n" " Login into FormShare and change your API credentials immediately!" -msgstr "" -"Se não tiver gerado uma ficha, a sua conta foi comprometida. Inicie a " -"sessão no FormShare e altere as suas credenciais API imediatamente." +msgstr "Se não tiver gerado uma ficha, a sua conta foi comprometida. Inicie a sessão no FormShare e altere as suas credenciais API imediatamente." #: formshare/templates/generic/403.jinja2:3 #: formshare/templates/generic/403.jinja2:15 @@ -6320,12 +5609,8 @@ msgid "Not authorized" msgstr "Você não está autorizado" #: formshare/templates/generic/403.jinja2:18 -msgid "" -"Your assistant account does not have sufficient permissions to view this " -"page." -msgstr "" -"Sua conta de assistente não tem permissão suficiente para visualizar esta" -" página." +msgid "Your assistant account does not have sufficient permissions to view this page." +msgstr "Sua conta de assistente não tem permissão suficiente para visualizar esta página." #: formshare/templates/generic/404.jinja2:3 #: formshare/templates/generic/404.jinja2:15 @@ -6333,12 +5618,8 @@ msgid "Page not found" msgstr "Página não encontrada" #: formshare/templates/generic/404.jinja2:18 -msgid "" -"Sorry, but the page you are looking for has not been found. Try checking " -"the URL for errors." -msgstr "" -"Desculpe, mas a página que você está procurando não foi encontrada. Tente" -" verificar o URL." +msgid "Sorry, but the page you are looking for has not been found. Try checking the URL for errors." +msgstr "Desculpe, mas a página que você está procurando não foi encontrada. Tente verificar o URL." #: formshare/templates/generic/500.jinja2:3 msgid "Application error" @@ -6349,12 +5630,8 @@ msgid "Internal Server Error" msgstr "Erro interno do servidor" #: formshare/templates/generic/500.jinja2:18 -msgid "" -"The server encountered an unexpected error and was not able to complete " -"your request." -msgstr "" -"O servidor encontrou um erro inesperado e não foi capaz de atender sua " -"solicitação." +msgid "The server encountered an unexpected error and was not able to complete your request." +msgstr "O servidor encontrou um erro inesperado e não foi capaz de atender sua solicitação." #: formshare/templates/generic/500.jinja2:19 msgid "If the problem persists, please report the issue at:" @@ -6426,12 +5703,8 @@ msgid "Your session has expired." msgstr "Sua sessão expirou." #: formshare/templates/generic/refresh.jinja2:18 -msgid "" -"Don't worry, just go back and refresh the page to obtain a new secure " -"session." -msgstr "" -"Não se preocupe, apenas volte e atualiza a página para obter uma nova " -"sessão segura." +msgid "Don't worry, just go back and refresh the page to obtain a new secure session." +msgstr "Não se preocupe, apenas volte e atualiza a página para obter uma nova sessão segura." #: formshare/templates/generic/register.jinja2:3 #: formshare/templates/generic/register.jinja2:6 @@ -6443,12 +5716,8 @@ msgid "Address" msgstr "Endereço" #: formshare/templates/generic/register.jinja2:23 -msgid "" -"This is a simple name to identify you in FormShare. As an example, you " -"can use the first part of your email." -msgstr "" -"Este é um nome simples para identificá-lo no FormShare. Como exemplo, " -"você pode usar a primeira parte de seu e-mail." +msgid "This is a simple name to identify you in FormShare. As an example, you can use the first part of your email." +msgstr "Este é um nome simples para identificá-lo no FormShare. Como exemplo, você pode usar a primeira parte de seu e-mail." #: formshare/templates/generic/register.jinja2:36 msgid "Create an account" @@ -6488,23 +5757,15 @@ msgstr "Contate-nos" #: formshare/templates/landing/snippets/contact.jinja2:8 msgid "If you have questions, please drop us an email or a Github issue" -msgstr "" -"Se você tem perguntas, por favor nos envie um e-mail ou um problema no " -"Github" +msgstr "Se você tem perguntas, por favor nos envie um e-mail ou um problema no Github" #: formshare/templates/landing/snippets/contact.jinja2:19 msgid "P" msgstr "T" #: formshare/templates/landing/snippets/contact.jinja2:26 -msgid "" -"This service is free for now however this could change in the future and " -"you might need to pay a fee and accept a Terms of Service and Privacy " -"policy" -msgstr "" -"Este serviço é gratuito por enquanto, porém isso poderá mudar no futuro e" -" talvez você precise pagar uma taxa e aceitar os Termos de Serviço e " -"Política de Privacidade" +msgid "This service is free for now however this could change in the future and you might need to pay a fee and accept a Terms of Service and Privacy policy" +msgstr "Este serviço é gratuito por enquanto, porém isso poderá mudar no futuro e talvez você precise pagar uma taxa e aceitar os Termos de Serviço e Política de Privacidade" #: formshare/templates/landing/snippets/contact.jinja2:34 msgid "Send us an email" @@ -6514,6 +5775,10 @@ msgstr "Envie-nos um e-mail" msgid "Or follow us on social media" msgstr "Ou siga-nos nas redes sociais" +#: formshare/templates/landing/snippets/contact.jinja2:57 +msgid "FormShare, the FormShare logo, and the slogan \"Centralize data – Decentralize knowledge\" are either registered trademarks or trademarks of QLands Technology Consultants. All other products, logos, or name brands are trademarks of their respective holders, including QLands Technology Consultants." +msgstr "FormShare, o logotipo FormShare e o slogan \"Centralize data - Decentralize knowledge\" são marcas registradas ou marcas comerciais da QLands Technology Consultants. Todos os outros produtos, logotipos ou marcas são marcas comerciais ou marcas registradas de seus respectivos proprietários, incluindo a QLands Technology Consultants." + #: formshare/templates/landing/snippets/features2.jinja2:5 msgid "Centralize" msgstr "Centralizar" @@ -6535,12 +5800,8 @@ msgid "Centralize data" msgstr "Centralizados dados" #: formshare/templates/landing/snippets/features2.jinja2:13 -msgid "" -"Store your data in a consistent way inside a relational database without " -"duplicates or inconsistencies" -msgstr "" -"Armazenar seus dados de maneira consistente dentro de uma base de dados " -"relacional sem réplicas ou inconsistências" +msgid "Store your data in a consistent way inside a relational database without duplicates or inconsistencies" +msgstr "Armazenar seus dados de maneira consistente dentro de uma base de dados relacional sem réplicas ou inconsistências" #: formshare/templates/landing/snippets/features2.jinja2:17 msgid "Complete mobile support" @@ -6555,24 +5816,16 @@ msgid "Decentralize data access" msgstr "Descentralizar acesso de dados" #: formshare/templates/landing/snippets/features2.jinja2:28 -msgid "" -"Create collaborations around data and allow access from any location " -"using common tools like Excel, STATA or R" -msgstr "" -"Criar colaborações em volta dos dados e permitir acesso de qualquer " -"localidade utilizando ferramentas comuns como Excel, STATA ou R" +msgid "Create collaborations around data and allow access from any location using common tools like Excel, STATA or R" +msgstr "Criar colaborações em volta dos dados e permitir acesso de qualquer localidade utilizando ferramentas comuns como Excel, STATA ou R" #: formshare/templates/landing/snippets/features2.jinja2:32 msgid "Track changes" msgstr "Rastrear alterações" #: formshare/templates/landing/snippets/features2.jinja2:33 -msgid "" -"Browse through your data online and track and manage the changes made to " -"it" -msgstr "" -"Pesquisar através dos seus dados online e rastrear e gerenciar as " -"alterações feitas neles" +msgid "Browse through your data online and track and manage the changes made to it" +msgstr "Pesquisar através dos seus dados online e rastrear e gerenciar as alterações feitas neles" #: formshare/templates/landing/snippets/header.jinja2:76 #: formshare/templates/partner/snippets/header.jinja2:4 @@ -6588,12 +5841,8 @@ msgid "This is a free* service provided by" msgstr "Este é um serviço gratuito* fornecido por" #: formshare/templates/landing/snippets/pricing.jinja2:112 -msgid "" -"This could change in the future depending on the storage and processing " -"demand." -msgstr "" -"Este pode mudar no futuro a depender da demanda de armazenamento e " -"processamento." +msgid "This could change in the future depending on the storage and processing demand." +msgstr "Este pode mudar no futuro a depender da demanda de armazenamento e processamento." #: formshare/templates/landing/snippets/slider.jinja2:14 msgid "Welcome to" @@ -6617,9 +5866,7 @@ msgstr "O FormShare combina tecnologias como" #: formshare/templates/landing/snippets/slider.jinja2:32 msgid "to give you the best experience collecting and managing mobile data" -msgstr "" -"para te proporcionar a melhor experiência de coleta e gerenciamento de " -"dados móveis" +msgstr "para te proporcionar a melhor experiência de coleta e gerenciamento de dados móveis" #: formshare/templates/landing/snippets/slider.jinja2:48 msgid "Next" @@ -6661,88 +5908,130 @@ msgstr "Criado em" msgid "This is the latest export of this product" msgstr "Esta é a exportação mais recente deste produto" -#: formshare/views/assistant_groups.py:89 +#: formshare/views/assistant_groups.py:88 msgid "The group was added to this project" msgstr "O grupo foi adicionado ao projeto" -#: formshare/views/assistant_groups.py:96 -#: formshare/views/assistant_groups.py:160 +#: formshare/views/assistant_groups.py:95 formshare/views/assistant_groups.py:159 msgid "You need to specify a name" msgstr "Você precisa especificar um nome" -#: formshare/views/assistant_groups.py:153 +#: formshare/views/assistant_groups.py:152 msgid "The group was edited successfully" msgstr "O grupo foi editado com sucesso" -#: formshare/views/assistant_groups.py:200 -#: formshare/views/assistant_groups.py:328 +#: formshare/views/assistant_groups.py:199 formshare/views/assistant_groups.py:326 msgid "The group was deleted successfully" msgstr "O grupo foi excluído com sucesso" -#: formshare/views/assistant_groups.py:204 -#: formshare/views/assistant_groups.py:332 +#: formshare/views/assistant_groups.py:203 formshare/views/assistant_groups.py:330 msgid "Unable to delete the group: " msgstr "Não foi possível excluir o grupo: " -#: formshare/views/assistant_groups.py:275 formshare/views/form.py:2143 +#: formshare/views/assistant_groups.py:273 formshare/views/form.py:2143 msgid "The assistant was added successfully" msgstr "O assistente foi adicionado com sucesso" -#: formshare/views/assistant_groups.py:283 -#| msgid "You need to specify an assistant" +#: formshare/views/assistant_groups.py:281 msgid "You need to specify assistants" msgstr "Você precisa especificar os participantes" -#: formshare/views/assistants.py:131 +#: formshare/views/assistants.py:148 msgid "The assistant was added to this project" msgstr "O assistente foi adicionado a este projeto" -#: formshare/views/assistant_views/forms.py:148 -#: formshare/views/assistants.py:141 formshare/views/assistants.py:414 -#: formshare/views/basic_views.py:303 formshare/views/basic_views.py:758 -#: formshare/views/partner_views/forms.py:119 formshare/views/partners.py:276 -#: formshare/views/partners.py:473 formshare/views/users.py:226 -#: formshare/views/users.py:392 +#: formshare/views/assistant_views/forms.py:148 formshare/views/assistants.py:158 +#: formshare/views/assistants.py:437 formshare/views/basic_views.py:303 +#: formshare/views/basic_views.py:758 formshare/views/partner_views/forms.py:119 +#: formshare/views/partners.py:276 formshare/views/partners.py:473 +#: formshare/views/users.py:226 formshare/views/users.py:392 msgid "The password cannot be empty" msgstr "A senha não pode estar vazia" -#: formshare/views/assistant_views/forms.py:144 -#: formshare/views/assistants.py:145 formshare/views/assistants.py:405 -#: formshare/views/basic_views.py:738 +#: formshare/views/assistant_views/forms.py:144 formshare/views/assistants.py:162 +#: formshare/views/assistants.py:428 formshare/views/basic_views.py:738 #: formshare/views/partner_views/forms.py:115 formshare/views/partners.py:271 #: formshare/views/partners.py:470 formshare/views/users.py:223 #: formshare/views/users.py:387 msgid "The password and its confirmation are not the same" msgstr "A senha e sua confirmação não são iguais" -#: formshare/views/assistants.py:149 formshare/views/basic_views.py:749 -#: formshare/views/users.py:397 -msgid "The user id has invalid characters. Only underscore and dot are allowed" -msgstr "" -"O ID de usuário tem caracteres inválidos. Apenas underline e ponto são " -"permitidos" +#: formshare/views/assistants.py:168 +msgid "The assistant id has invalid characters. Only underscore is allowed" +msgstr "O identificador do assistente tem caracteres inválidos. Somente o sublinhado é permitido" -#: formshare/views/assistants.py:155 -msgid "You need to specify a user id" -msgstr "Você precisa especificar um id de usuário" +#: formshare/views/assistants.py:175 +msgid "You need to specify an assistant name" +msgstr "Você deve especificar um nome de assistente" -#: formshare/views/assistants.py:237 +#: formshare/views/assistants.py:178 +msgid "You need to specify an assistant id" +msgstr "Você deve especificar um identificador de participante" + +#: formshare/views/assistants.py:260 msgid "The assistant was edited successfully" msgstr "O assistente foi editado com sucesso" -#: formshare/views/assistants.py:303 +#: formshare/views/assistants.py:326 msgid "The assistant was deleted successfully" msgstr "O assistente foi excluído com sucesso" -#: formshare/views/assistants.py:379 +#: formshare/views/assistants.py:402 msgid "The password was changed successfully" msgstr "A senha foi alterada com sucesso" -#: formshare/views/assistant_views/forms.py:132 -#: formshare/views/assistants.py:388 formshare/views/partner_views/forms.py:102 +#: formshare/views/assistant_views/forms.py:132 formshare/views/assistants.py:411 +#: formshare/views/partner_views/forms.py:102 msgid "Unable to change the password: " msgstr "Não foi possível alterar a senha: " +#: formshare/views/assistants.py:566 formshare/views/form.py:1890 +#: formshare/views/form.py:1897 formshare/views/projects.py:586 +#: formshare/views/projects.py:593 +msgid "Error {} encountered. A log entry has been produced" +msgstr "Erro {} encontrado. Uma entrada de registro foi produzida" + +#: formshare/views/assistants.py:581 +msgid "The CSV must have the following columns:" +msgstr "O CSV deve ter as seguintes colunas:" + +#: formshare/views/assistants.py:589 +msgid "The assistant with id = \"{}\" is invalid. Only _ is allowed" +msgstr "O assistente com id = \"{}\" é inválido. Somente _ é permitido." + +#: formshare/views/assistants.py:597 +msgid "The assistant with id = {} has empty coll_name" +msgstr "O assistente com id = {} tem coll_name vazio" + +#: formshare/views/assistants.py:605 +msgid "The assistant with id = {} has empty coll_password" +msgstr "O assistente com id = {} tem coll_password vazio" + +#: formshare/views/assistants.py:618 +msgid "The assistant with id = {} has an invalid email" +msgstr "O participante com id = {} tem um endereço de e-mail inválido" + +#: formshare/views/assistants.py:629 +msgid "The assistant with id = {} has an invalid telephone" +msgstr "O participante com id = {} tem um endereço de e-mail inválido" + +#: formshare/views/assistants.py:641 +msgid "The assistant with id = {} is already part of your account. You do not need to duplicate assistants, just mark them as \"Share among projects\" to use them across projects." +msgstr "O assistente com id = {} já faz parte de sua conta. Não há necessidade de duplicar os assistentes, basta marcá-los como \"Compartilhar entre projetos\" para usá-los em todos os projetos." + +#: formshare/views/assistants.py:694 +msgid "Your file has assistants with duplicated ids." +msgstr "Seu arquivo tem assistentes com ids duplicados." + +#: formshare/views/assistants.py:702 +msgid "Unknown error. A log entry has been created" +msgstr "Erro desconhecido. Foi criada uma entrada de registro de erro técnico." + +#: formshare/views/assistants.py:706 formshare/views/form.py:1903 +#: formshare/views/projects.py:600 +msgid "The file was uploaded successfully" +msgstr "O arquivo foi carregado com sucesso" + #: formshare/views/basic_views.py:297 msgid "The password and the confirmation are not the same" msgstr "A palavra-chave e a confirmação não são as mesmas" @@ -6779,6 +6068,10 @@ msgstr "A conta do sócio não existe ou a senha é inválida" msgid "The password must be less than 50 characters" msgstr "A senha deve ter menos de 50 caracteres" +#: formshare/views/basic_views.py:749 formshare/views/users.py:397 +msgid "The user id has invalid characters. Only underscore and dot are allowed" +msgstr "O ID de usuário tem caracteres inválidos. Apenas underline e ponto são permitidos" + #: formshare/views/api/version_1/tokens.py:143 formshare/views/classes.py:610 #: formshare/views/classes.py:625 formshare/views/classes.py:989 #: formshare/views/classes.py:1004 @@ -6802,12 +6095,8 @@ msgid "The collaborator was added to this project" msgstr "Os colaboradores foram adicionados a este projeto" #: formshare/views/collaborators.py:110 -msgid "" -"The collaborator was added to this project. However, an email has been " -"sent to him/her/they to accept the collaboration" -msgstr "" -"O colaborador foi adicionado a este projeto. Porém, um e-mail foi enviado" -" a ele/ela para aceitar a colaboração" +msgid "The collaborator was added to this project. However, an email has been sent to him/her/they to accept the collaboration" +msgstr "O colaborador foi adicionado a este projeto. Porém, um e-mail foi enviado a ele/ela para aceitar a colaboração" #: formshare/views/collaborators.py:130 msgid "This collaborator does not exist or is inactive" @@ -6846,85 +6135,51 @@ msgid "Unable to decline the collaboration: " msgstr "Nao foi possível recusar a colaboração: " #: formshare/views/form.py:310 formshare/views/repository_merge.py:143 -msgid "" -"The repeat \"{}\" changed parent from \"{}\" to \"{}\". You must rename " -"the repeat before merging" -msgstr "" -"A repetição \"{}\" alterou parente de \"{}\" para \"{}\". Você deve " -"renomear a repetição antes de fundir" +msgid "The repeat \"{}\" changed parent from \"{}\" to \"{}\". You must rename the repeat before merging" +msgstr "A repetição \"{}\" alterou parente de \"{}\" para \"{}\". Você deve renomear a repetição antes de fundir" #: formshare/views/form.py:323 formshare/views/repository_merge.py:156 -msgid "" -"The parent repeat \"{}\" of repeat \"{}\" does not exist anymore. You " -"must rename the repeat \"{}\" before merging" -msgstr "" -"A repetição de parente \"{}\" da repetição \"{}\" não existe mais. Você " -"deve renomear a repetição \"{}\" antes de fundir" +msgid "The parent repeat \"{}\" of repeat \"{}\" does not exist anymore. You must rename the repeat \"{}\" before merging" +msgstr "A repetição de parente \"{}\" da repetição \"{}\" não existe mais. Você deve renomear a repetição \"{}\" antes de fundir" #: formshare/views/form.py:335 -msgid "" -"The variable \"{}\" in repeat \"{}\" changed type. You must rename the " -"variable before merging." -msgstr "" -"A variável \"{}\" na repetição \"{}\" mudou de tipo. Você deve renomear a" -" variável antes de fundir." +msgid "The variable \"{}\" in repeat \"{}\" changed type. You must rename the variable before merging." +msgstr "A variável \"{}\" na repetição \"{}\" mudou de tipo. Você deve renomear a variável antes de fundir." #: formshare/views/form.py:347 -msgid "" -"The variable \"{}\" in repeat \"{}\" has a different choice list name. " -"You must rename the variable before merging. " -msgstr "" -"A variável \"{}\"na repetição \"{}\" tem um nome de lista de escolha " -"diferente. VocÊ deve renomear a variável antes de fundir. " +msgid "The variable \"{}\" in repeat \"{}\" has a different choice list name. You must rename the variable before merging. " +msgstr "A variável \"{}\"na repetição \"{}\" tem um nome de lista de escolha diferente. VocÊ deve renomear a variável antes de fundir. " #: formshare/views/form.py:370 formshare/views/repository_merge.py:212 -msgid "" -"Unknown error while merging. A message has been sent to the support team " -"and they will contact you ASAP." -msgstr "" -"Erro desconhecido ao fundir. Uma mensagem foi enviada à nossa equipe de " -"suporte e eles entrarão em contato com você o quanto antes." +msgid "Unknown error while merging. A message has been sent to the support team and they will contact you ASAP." +msgstr "Erro desconhecido ao fundir. Uma mensagem foi enviada à nossa equipe de suporte e eles entrarão em contato com você o quanto antes." #: formshare/views/form.py:383 formshare/views/form.py:394 #: formshare/views/form.py:405 formshare/views/form.py:416 #: formshare/views/form.py:452 formshare/views/form.py:659 #: formshare/views/form.py:670 formshare/views/form.py:681 -msgid "" -"An unexpected error occurred while processing the merge. An email has " -"been sent to the technical team and they will contact you ASAP." -msgstr "" -"Um erro inesperado ocorreu ao processar a fusão. Um e-mail foi enviado à " -"equipe técnica e eles entrarão em contato com você o quanto antes." +msgid "An unexpected error occurred while processing the merge. An email has been sent to the technical team and they will contact you ASAP." +msgstr "Um erro inesperado ocorreu ao processar a fusão. Um e-mail foi enviado à equipe técnica e eles entrarão em contato com você o quanto antes." #: formshare/views/form.py:424 -msgid "" -"This new version of the form has multiple languages when the previous one" -" did not.\n" -"\n" -"Use the \"Fix language\" button to set the languages in this version of " -"the ODK Form." -msgstr "" -"Esta nova versão do formulário tem vários idiomas, enquanto o antigo não." +msgid "This new version of the form has multiple languages when the previous one did not.\n" "\n" +"Use the \"Fix language\" button to set the languages in this version of the ODK Form." +msgstr "Esta nova versão do formulário tem vários idiomas, enquanto o antigo não.\n" "\n" -"Use o botão \"Idioma correto\" para definir os idiomas nesta versão do " -"formulário ODK." +"Use o botão \"Idioma correto\" para definir os idiomas nesta versão do formulário ODK." #: formshare/views/form.py:433 -msgid "" -"This version of the ODK Form differs in the languages used. The following" -" languages are undefined:\n" +msgid "This version of the ODK Form differs in the languages used. The following languages are undefined:\n" "\n" -msgstr "" -"Esta versão do formulário ODK difere nos idiomas usados. Os seguintes " -"idiomas não estão definidos: \n" +"" +msgstr "Esta versão do formulário ODK difere nos idiomas usados. Os seguintes idiomas não estão definidos: \n" "\n" +"" #: formshare/views/form.py:576 formshare/views/repository.py:478 msgid "The primary key was not found in the ODK form or is inside a repeat" -msgstr "" -"A chave primária não foi encontrada no formulário ODK ou está dentro de " -"um \"repetição\"" +msgstr "A chave primária não foi encontrada no formulário ODK ou está dentro de um \"repetição\"" #: formshare/views/form.py:584 formshare/views/form.py:606 msgid "The following files are missing and you need to attach them:" @@ -6943,29 +6198,12 @@ msgid "There was an error while processing some of the CSV resource files:" msgstr "Ocorreu um erro ao processar alguns dos arquivos CSV de recurso:" #: formshare/views/form.py:638 -msgid "" -"An unexpected error occurred while processing the search expression. An " -"email has been sent to the technical team and they will contact you ASAP." -msgstr "" -"Ocorreu um erro inesperado ao processar a expressão de pesquisa. Um " -"e-mail foi enviado para a equipe técnica e eles entrarão em contato com " -"você o mais breve possível." +msgid "An unexpected error occurred while processing the search expression. An email has been sent to the technical team and they will contact you ASAP." +msgstr "Ocorreu um erro inesperado ao processar a expressão de pesquisa. Um e-mail foi enviado para a equipe técnica e eles entrarão em contato com você o mais breve possível." #: formshare/views/form.py:646 -#| msgid "" "The variable to control duplicate submissions has an invalid type. -#| E.g., " "the variable cannot be note, picture, video, sound, -#| select_multiple, or " "geo-spacial. The most appropriate types are text, -#| datetime, barcode, " "calculate, select_one, or integer." -msgid "" -"The variable to control duplicate submissions has an invalid type. E.g., " -"the variable cannot be note, picture, video, sound, select_multiple, or " -"geo-spacial. It cannot be instanceID. The most appropriate types are " -"text, datetime, barcode, calculate, select_one, or integer." -msgstr "" -"A variável para controlar as submissões duplicadas tem um tipo inválido. Por" -" exemplo, a variável não pode ser nota, imagem, vídeo, som, select_multiple" -" ou geoespacial. Não pode ser instanceID. Os tipos mais apropriados são" -" texto, data e hora, código de barras, cálculo, select_one ou integer." +msgid "The variable to control duplicate submissions has an invalid type. E.g., the variable cannot be note, picture, video, sound, select_multiple, or geo-spacial. It cannot be instanceID. The most appropriate types are text, datetime, barcode, calculate, select_one, or integer." +msgstr "A variável para controlar as submissões duplicadas tem um tipo inválido. Por exemplo, a variável não pode ser nota, imagem, vídeo, som, select_multiple ou geoespacial. Não pode ser instanceID. Os tipos mais apropriados são texto, data e hora, código de barras, cálculo, select_one ou integer." #: formshare/views/form.py:689 msgid "The following choices are duplicated in your ODK:" @@ -6984,12 +6222,8 @@ msgid "You need to indicate a variable for labeling the cases" msgstr "Você deve indicar uma variável para rotular os casos" #: formshare/views/form.py:1064 formshare/views/form.py:1278 -msgid "" -"The labeling variable and the variable to identify each case cannot be " -"the same" -msgstr "" -"A variável para rotular os casos e a variável para identificá-los não " -"pode ser a mesma" +msgid "The labeling variable and the variable to identify each case cannot be the same" +msgstr "A variável para rotular os casos e a variável para identificá-los não pode ser a mesma" #: formshare/views/form.py:1080 formshare/views/form.py:1292 msgid "You need to indicate a type of case form" @@ -7000,25 +6234,16 @@ msgid "You need to indicate a variable for searching and selecting cases" msgstr "Você deve indicar a variável para pesquisar e selecionar casos" #: formshare/views/form.py:1111 formshare/views/form.py:1319 -msgid "" -"The variable for searching and selecting cases cannot be the same as the " -"primary key" -msgstr "" -"A variável para encontrar e selecionar casos não pode ser a mesma que a " -"chave primária" +msgid "The variable for searching and selecting cases cannot be the same as the primary key" +msgstr "A variável para encontrar e selecionar casos não pode ser a mesma que a chave primária" #: formshare/views/form.py:1129 formshare/views/form.py:1335 msgid "You need to indicate a variable that records date or date and time" -msgstr "" -"Você deve indicar uma variável que armazena uma data ou uma data e hora" +msgstr "Você deve indicar uma variável que armazena uma data ou uma data e hora" #: formshare/views/form.py:1148 formshare/views/form.py:1352 -msgid "" -"The variable for recording a date or a date and time cannot be the same " -"as the primary key or the case selector variable" -msgstr "" -"A variável para gravar uma data ou uma data e hora não pode ser a mesma " -"que a chave primária ou a variável de seleção de caso" +msgid "The variable for recording a date or a date and time cannot be the same as the primary key or the case selector variable" +msgstr "A variável para gravar uma data ou uma data e hora não pode ser a mesma que a chave primária ou a variável de seleção de caso" #: formshare/views/form.py:1179 msgid "The form was added successfully" @@ -7056,23 +6281,13 @@ msgstr "O formulário foi desativado com sucesso" msgid "No files were attached" msgstr "Nenhum arquivo foi anexado" -#: formshare/views/form.py:1890 formshare/views/form.py:1897 -#: formshare/views/projects.py:586 formshare/views/projects.py:593 -msgid "Error {} encountered. A log entry has been produced" -msgstr "Erro {} encontrado. Uma entrada de registro foi produzida" - -#: formshare/views/form.py:1903 formshare/views/projects.py:600 -msgid "The file was uploaded successfully" -msgstr "O arquivo foi carregado com sucesso" - #: formshare/views/form.py:1907 formshare/views/projects.py:604 msgid "The files were uploaded successfully" msgstr "Os arquivos foram carregados com sucesso" #: formshare/views/form.py:1962 msgid "You cannot remove this file because it is required by the repository" -msgstr "" -"Você não pode remover este arquivo porque ele é exigido pelo repositório" +msgstr "Você não pode remover este arquivo porque ele é exigido pelo repositório" #: formshare/views/form.py:1986 msgid "The files was removed successfully" @@ -7200,12 +6415,8 @@ msgid "The password for {} was modified" msgstr "A senha para {} foi modificada" #: formshare/views/partners.py:507 -msgid "" -"This partner was created by {0} ({1}). Only {0} or and administrator can " -"delete it" -msgstr "" -"Este sócio foi criado por {0} ({1}). Apenas {0} ou um administrador " -"podedelete isso" +msgid "This partner was created by {0} ({1}). Only {0} or and administrator can delete it" +msgstr "Este sócio foi criado por {0} ({1}). Apenas {0} ou um administrador podedelete isso" #: formshare/views/partners.py:551 msgid "The partner has been deleted" @@ -7239,12 +6450,10 @@ msgstr "Você precisa especificar uma nova senha" msgid "You need to specify the old password" msgstr "Você precisa especificar a senha antiga" -# | msgid "The user has been updated" #: formshare/views/profile.py:152 msgid "The key and secret has been updated" msgstr "A chave e a senha foram atualizadas" -# | msgid "You need to specify an assistant" #: formshare/views/profile.py:160 msgid "You need to specify the an API key and secret" msgstr "É necessário especificar a chave API e a senha." @@ -7255,9 +6464,7 @@ msgstr "O projeto foi criado" #: formshare/views/projects.py:295 msgid "The project code has invalid characters. Only underscore (_) is allowed" -msgstr "" -"O código do projeto tem caracteres inválidos. Apenas underline (_) é " -"permitido" +msgstr "O código do projeto tem caracteres inválidos. Apenas underline (_) é permitido" #: formshare/views/projects.py:300 msgid "The project code cannot be empty" @@ -7320,20 +6527,12 @@ msgid "FormShare is merging the form." msgstr "O FormShare está fundindo o formulário." #: formshare/views/repository_merge.py:170 -msgid "" -"The field \"{}\" in table \"{}\" changed type. You must rename the field " -"before merging." -msgstr "" -"O campo \"{}\" na tabela \"{}\" mudou de tipo. Você precisa renomear o " -"campo antes de fundir." +msgid "The field \"{}\" in table \"{}\" changed type. You must rename the field before merging." +msgstr "O campo \"{}\" na tabela \"{}\" mudou de tipo. Você precisa renomear o campo antes de fundir." #: formshare/views/repository_merge.py:185 -msgid "" -"The option \"{}\" in lookup table \"{}\" changed description from \"{}\" " -"to \"{}\"." -msgstr "" -"A opção \"{}\" na tabela de consulta \"{}\" mudou de descrição de \"{}\" " -"para \"{}\"." +msgid "The option \"{}\" in lookup table \"{}\" changed description from \"{}\" to \"{}\"." +msgstr "A opção \"{}\" na tabela de consulta \"{}\" mudou de descrição de \"{}\" para \"{}\"." #: formshare/views/repository_merge.py:198 msgid "The field \"{}\" in table \"{}\" changed relationship" @@ -7360,12 +6559,8 @@ msgid "Cannot find an assistant with such API key" msgstr "Não foi possível encontrar um assistente conectado a essa chave de API" #: formshare/views/repository_submissions.py:527 -msgid "" -"This API key don't have permission to clean the form associated with the " -"indicated Row ID" -msgstr "" -"Esta chave de API não tem permissão para limpar os dados associados ao " -"rowuuid" +msgid "This API key don't have permission to clean the form associated with the indicated Row ID" +msgstr "Esta chave de API não tem permissão para limpar os dados associados ao rowuuid" #: formshare/views/repository_submissions.py:543 msgid "Update completed" @@ -7392,26 +6587,18 @@ msgid "Tokens can only be requested by POST." msgstr "Os Tokens só podem ser solicitados pelo POST." #: formshare/views/api/version_1/tokens.py:88 -msgid "" -"Your account does not have an API secret. Go to your profile and set an " -"API secret" -msgstr "" -"Sua conta não tem uma senha API. Vá até seu perfil e defina uma senha API." +msgid "Your account does not have an API secret. Go to your profile and set an API secret" +msgstr "Sua conta não tem uma senha API. Vá até seu perfil e defina uma senha API." #: formshare/views/api/version_1/tokens.py:156 -msgid "" -"You need to indicate an API key (X-API-Key) and an API Secret (X-API-" -"Secret)." -msgstr "" -"É necessário especificar uma chave API (X-API-Key) e um segredo API (X" -"-API-Secret)." +msgid "You need to indicate an API key (X-API-Key) and an API Secret (X-API-Secret)." +msgstr "É necessário especificar uma chave API (X-API-Key) e um segredo API (X-API-Secret)." #: formshare/views/assistant_views/forms.py:140 #: formshare/views/partner_views/forms.py:111 msgid "The old password is not correct" msgstr "A senha antiga não está correta" -# | msgid "Unable to change the key: " #: formshare/views/assistant_views/forms.py:179 msgid "Unable to change the key. No API key and secret" msgstr "Não foi possível mudar a chave. Sem chave e senha API" @@ -7428,12 +6615,8 @@ msgstr "O fuso horário não pôde ser modificado: " #: formshare/views/assistant_views/jsonlogs.py:190 #: formshare/views/assistant_views/jsonlogs.py:851 -msgid "" -"An error occurred while comparing the files. Sorry for this. Please post " -"the below error as an issue in " -msgstr "" -"Um erro ocorreu ao comparar os arquivos. Desculpe-nos. Por favor, " -"publique o erro abaixo como problema em " +msgid "An error occurred while comparing the files. Sorry for this. Please post the below error as an issue in " +msgstr "Um erro ocorreu ao comparar os arquivos. Desculpe-nos. Por favor, publique o erro abaixo como problema em " #: formshare/views/assistant_views/jsonlogs.py:204 msgid "The submission ID does not exist" @@ -7463,36 +6646,3 @@ msgstr "Você precisa fornecer uma explicação quando desconsiderar um erro" msgid "You need to provide an explanation when canceling a disregard" msgstr "Você precisa fornecer uma explicação ao cancelar uma desconsideração" -#~ msgid "Never share your API key" -#~ msgstr "Nunca partilhe a sua chave API" - -#~ msgid "Never share your API secret" -#~ msgstr "Nunca partilhe o seu segredo API" - -#~ msgid "API Download" -#~ msgstr "Fazer download de API" - -#~ msgid "You need to provide a password" -#~ msgstr "Deve fornecer uma palavra-passe" - -#~ msgid "This API key does not exist or is inactive" -#~ msgstr "A chave API não existe ou está inativa" - -#~ msgid "You need to specify an API key" -#~ msgstr "Você precisa especificar uma chave API" - -#~ msgid "You are not authorized to modify this project" -#~ msgstr "Você não está autorizado a modificar este projeto" - -#~ msgid "The form does not exist" -#~ msgstr "Formulário inexistente" - -#~ msgid "You did not attach any file" -#~ msgstr "Você não anexou nenhum arquivo" - -#~ msgid "The file was uploaded" -#~ msgstr "O arquivo foi carregado" - -#~ msgid "And" -#~ msgstr "E" - From ede48ac0617f8c6c5962fa219d21d2ada29f3bd8 Mon Sep 17 00:00:00 2001 From: qlands Date: Tue, 2 May 2023 06:30:08 -0400 Subject: [PATCH 150/246] Case creator needs a date --- formshare/processes/db/project.py | 53 ++++++++++++++ formshare/processes/odk/api.py | 36 ++++++++++ .../forms/snippets/upload_form.jinja2 | 6 ++ .../resources/forms/case/data/activ_01.xml | 2 +- .../resources/forms/case/data/activ_01B.xml | 2 +- .../resources/forms/case/data/deact_01.xml | 2 +- .../resources/forms/case/data/deact_03.xml | 2 +- .../resources/forms/case/data/follow_02.xml | 2 +- .../resources/forms/case/data/start_01.xml | 2 +- .../resources/forms/case/data/start_02.xml | 2 +- .../resources/forms/case/data/start_04.xml | 2 +- .../resources/forms/case/data/start_05.xml | 2 +- .../forms/case/merge/case_start.xlsx | Bin 8975 -> 8983 bytes .../forms/case/merge/data/deact_02.xml | 2 +- .../forms/case/merge/data/deact_02B.xml | 2 +- .../forms/case/merge/data/start_03.xml | 2 +- formshare/tests/steps/case_management.py | 59 ++++++++++++++-- .../tests/steps/case_management_start.py | 45 +++++++++++- formshare/views/form.py | 66 ++++++++++++++++++ 19 files changed, 269 insertions(+), 20 deletions(-) diff --git a/formshare/processes/db/project.py b/formshare/processes/db/project.py index fa800a687..0def089e8 100644 --- a/formshare/processes/db/project.py +++ b/formshare/processes/db/project.py @@ -17,6 +17,7 @@ get_dataset_stats_for_project, ) from sqlalchemy.exc import IntegrityError +from sqlalchemy import or_ __all__ = [ "get_project_id_from_name", @@ -41,6 +42,7 @@ "get_number_of_case_creators", "get_number_of_case_creators_with_repository", "get_case_form", + "get_case_forms", "get_case_schema", "project_has_case_lookup_table", "invalid_aliases", @@ -868,6 +870,57 @@ def get_number_of_case_creators_with_repository(request, project): return total +def get_case_forms(request, project): + """ + This will return the follow-up forms of a case. If a follow-up form is merged then it will + take the latest form. + :param request: Pyramid request object + :param project: FormShare project + :return: A form ID or None + """ + result = [] + res = ( + request.dbsession.query( + Odkform.form_id, + Odkform.form_name, + Odkform.form_hexcolor, + Odkform.form_schema, + Odkform.form_casedatetime, + Odkform.form_casetype, + Odkform.form_pkey, + Odkform.form_caseselector, + ) + .filter(Odkform.project_id == project) + .filter(Odkform.form_casetype > 0) + .filter(Odkform.form_schema.isnot(None)) + .order_by(Odkform.form_cdate.asc()) + .all() + ) + for a_table in res: + found = False + for a_followup in result: + if a_followup["form_schema"] == a_table["form_schema"]: + a_followup["form_id"] = a_table["form_id"] + a_followup["form_name"] = a_table["form_name"] + found = True + if not found: + new_table = { + "form_id": a_table.form_id, + "form_name": a_table.form_name, + "form_hexcolor": a_table.form_hexcolor, + "form_schema": a_table.form_schema, + "form_pkey": a_table.form_pkey, + "form_casetype": a_table.form_casetype, + "form_caseselector": a_table.form_caseselector, + } + if a_table.form_casedatetime is not None: + new_table["form_casedatetime"] = a_table.form_casedatetime + else: + new_table["form_casedatetime"] = "_submitted_date" + result.append(new_table) + return result + + def get_case_form(request, project): """ This will return the case form of a project. If the form is merged then it will return any diff --git a/formshare/processes/odk/api.py b/formshare/processes/odk/api.py index 2b89036ff..23a4baaf5 100644 --- a/formshare/processes/odk/api.py +++ b/formshare/processes/odk/api.py @@ -1049,6 +1049,24 @@ def upload_odk_form( form_caselabel ) ) + + case_datetime_found = False + for a_field in fields: + if a_field["name"] == form_casedatetime: + if ( + a_field["type"] == "date" + or a_field["type"] == "datetime" + ): + case_datetime_found = True + + if not case_datetime_found: + error = 1 + message = _( + "The variable {} used to record a date or date and time was not found" + " or is invalid. The variable must be date or datetime.".format( + form_casedatetime + ) + ) else: fields = get_fields_from_table_in_file( create_file, "maintable" @@ -1487,6 +1505,24 @@ def update_odk_form( form_caselabel ) ) + + case_datetime_found = False + for a_field in fields: + if a_field["name"] == form_casedatetime: + if ( + a_field["type"] == "date" + or a_field["type"] == "datetime" + ): + case_datetime_found = True + + if not case_datetime_found: + error = 1 + message = _( + "The variable {} used to record a date or date and time was not found" + " or is invalid. The variable must be date or datetime.".format( + form_casedatetime + ) + ) else: fields = get_fields_from_table_in_file( create_file, "maintable" diff --git a/formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2 b/formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2 index 573de86c4..3d359b47b 100644 --- a/formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2 +++ b/formshare/templates/dashboard/projects/forms/snippets/upload_form.jinja2 @@ -70,6 +70,12 @@ {{ _('Each case needs to have a label. You need to select a variable from your ODK Form to label each case. Follow-up forms will use this variable to search and select each case. If you need to join two or more variables to create a label, then use an ODK Calculate to merge them into one variable.') }}
    +
    + + + {{ _('Each case must be registered in a date. This variable MUST BE either "date" or "datetime".') }} +
    +
    diff --git a/formshare/tests/resources/forms/case/data/activ_01.xml b/formshare/tests/resources/forms/case/data/activ_01.xml index 3dfb89c03..f216071e2 100644 --- a/formshare/tests/resources/forms/case/data/activ_01.xml +++ b/formshare/tests/resources/forms/case/data/activ_01.xml @@ -1,2 +1,2 @@ -2021-03-31T19:01:15.543-06:0044_7407010010012021-03-312uuid:82594c4a-a016-42cc-8792-24dded4f0564 \ No newline at end of file +2021-06-13T19:01:15.543-06:0044_7407010010012021-06-132uuid:82594c4a-a016-42cc-8792-24dded4f0564 \ No newline at end of file diff --git a/formshare/tests/resources/forms/case/data/activ_01B.xml b/formshare/tests/resources/forms/case/data/activ_01B.xml index eaef3ea23..cca7d0d1c 100644 --- a/formshare/tests/resources/forms/case/data/activ_01B.xml +++ b/formshare/tests/resources/forms/case/data/activ_01B.xml @@ -1,2 +1,2 @@ -2021-05-01T19:01:15.543-06:0044_7407010010012021-05-012uuid:82594c4a-a016-42cc-8792-24dded4f0564 \ No newline at end of file +2021-07-28T19:01:15.543-06:0044_7407010010012021-07-282uuid:82594c4a-a016-42cc-8792-24dded4f0564 \ No newline at end of file diff --git a/formshare/tests/resources/forms/case/data/deact_01.xml b/formshare/tests/resources/forms/case/data/deact_01.xml index 383827ff1..b7584fd5a 100644 --- a/formshare/tests/resources/forms/case/data/deact_01.xml +++ b/formshare/tests/resources/forms/case/data/deact_01.xml @@ -1,2 +1,2 @@ -2021-03-31T18:56:04.602-06:0044_7407010010012021-03-312uuid:0dad1054-317e-411e-9917-39a641750d43 \ No newline at end of file +2021-04-15T18:56:04.602-06:0044_7407010010012021-04-152uuid:0dad1054-317e-411e-9917-39a641750d43 \ No newline at end of file diff --git a/formshare/tests/resources/forms/case/data/deact_03.xml b/formshare/tests/resources/forms/case/data/deact_03.xml index aafcc8125..d532e9572 100644 --- a/formshare/tests/resources/forms/case/data/deact_03.xml +++ b/formshare/tests/resources/forms/case/data/deact_03.xml @@ -1,2 +1,2 @@ -2021-03-31T18:56:04.602-06:0044_7407010030032021-03-312uuid:0dad1054-317e-411e-9917-39a641750d43 \ No newline at end of file +2021-05-12T18:56:04.602-06:0044_7407010030032021-05-122uuid:0dad1054-317e-411e-9917-39a641750d43 \ No newline at end of file diff --git a/formshare/tests/resources/forms/case/data/follow_02.xml b/formshare/tests/resources/forms/case/data/follow_02.xml index eb68330a3..c5db8815f 100644 --- a/formshare/tests/resources/forms/case/data/follow_02.xml +++ b/formshare/tests/resources/forms/case/data/follow_02.xml @@ -1,2 +1,2 @@ -2021-03-31T18:43:24.725-06:0044_7407010020022021-03-310uuid:d6283c37-fd6c-48d3-b51c-b694e77aa513 \ No newline at end of file +2021-03-28T18:43:24.725-06:0044_7407010020022021-03-280uuid:d6283c37-fd6c-48d3-b51c-b694e77aa513 \ No newline at end of file diff --git a/formshare/tests/resources/forms/case/data/start_01.xml b/formshare/tests/resources/forms/case/data/start_01.xml index 5b2e1392d..0680a8608 100644 --- a/formshare/tests/resources/forms/case/data/start_01.xml +++ b/formshare/tests/resources/forms/case/data/start_01.xml @@ -1,2 +1,2 @@ -44_740701001Carlos1259.9471453 -84.1559889 1014.66792633933 22.5uuid:09a722af-73d3-445f-bac1-2135ac818c74 \ No newline at end of file +44_740701001Carlos1252021-01-059.9471453 -84.1559889 1014.66792633933 22.5uuid:09a722af-73d3-445f-bac1-2135ac818c74 \ No newline at end of file diff --git a/formshare/tests/resources/forms/case/data/start_02.xml b/formshare/tests/resources/forms/case/data/start_02.xml index d85955e7d..7ecf3c3c9 100644 --- a/formshare/tests/resources/forms/case/data/start_02.xml +++ b/formshare/tests/resources/forms/case/data/start_02.xml @@ -1,2 +1,2 @@ -44_740701002Eduardo1259.9471453 -84.1559889 1014.66792633933 22.5uuid:09a722af-73d3-445f-bac1-2135ac818c74 \ No newline at end of file +42021-01-154_740701002Eduardo1259.9471453 -84.1559889 1014.66792633933 22.5uuid:09a722af-73d3-445f-bac1-2135ac818c74 \ No newline at end of file diff --git a/formshare/tests/resources/forms/case/data/start_04.xml b/formshare/tests/resources/forms/case/data/start_04.xml index a8bf461dc..450b1a1ff 100644 --- a/formshare/tests/resources/forms/case/data/start_04.xml +++ b/formshare/tests/resources/forms/case/data/start_04.xml @@ -1,2 +1,2 @@ -44_740701004Carlos 0031259.9471453 -84.1559889 1014.66792633933 22.5uuid:09a722af-73d3-445f-bac1-2135ac818c74 \ No newline at end of file +44_72021-02-0740701004Carlos 0031259.9471453 -84.1559889 1014.66792633933 22.5uuid:09a722af-73d3-445f-bac1-2135ac818c74 \ No newline at end of file diff --git a/formshare/tests/resources/forms/case/data/start_05.xml b/formshare/tests/resources/forms/case/data/start_05.xml index 5653c577f..456b22e21 100644 --- a/formshare/tests/resources/forms/case/data/start_05.xml +++ b/formshare/tests/resources/forms/case/data/start_05.xml @@ -1,2 +1,2 @@ -44_740701005Carlos 0031259.9471453 -84.1559889 1014.66792633933 22.5uuid:09a722af-73d3-445f-bac1-2135ac818c74 \ No newline at end of file +44_72021-02-1840701005Carlos 0031259.9471453 -84.1559889 1014.66792633933 22.5uuid:09a722af-73d3-445f-bac1-2135ac818c74 \ No newline at end of file diff --git a/formshare/tests/resources/forms/case/merge/case_start.xlsx b/formshare/tests/resources/forms/case/merge/case_start.xlsx index d3ddeb23a7d324c4454a62e5a7861accb6f44a60..7e362e17ccf11477f1aab2f0ce6fa9a3ae2fdc92 100644 GIT binary patch delta 5712 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 delta 5717 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 diff --git a/formshare/tests/resources/forms/case/merge/data/deact_02.xml b/formshare/tests/resources/forms/case/merge/data/deact_02.xml index cc9ba64b6..64489783d 100644 --- a/formshare/tests/resources/forms/case/merge/data/deact_02.xml +++ b/formshare/tests/resources/forms/case/merge/data/deact_02.xml @@ -1,2 +1,2 @@ -2021-03-31T23:00:56.670-06:0033_5305060020022021-03-3121uuid:1ccf7a56-aa1e-4c2a-ad8a-62c0ab07f371 \ No newline at end of file +2021-08-31T23:00:56.670-06:0033_5305060020022021-08-3121uuid:1ccf7a56-aa1e-4c2a-ad8a-62c0ab07f371 \ No newline at end of file diff --git a/formshare/tests/resources/forms/case/merge/data/deact_02B.xml b/formshare/tests/resources/forms/case/merge/data/deact_02B.xml index b93d0d0e1..e6c42e35e 100644 --- a/formshare/tests/resources/forms/case/merge/data/deact_02B.xml +++ b/formshare/tests/resources/forms/case/merge/data/deact_02B.xml @@ -1,2 +1,2 @@ -2021-04-15T23:00:56.670-06:0033_5305060020022021-04-1521uuid:1ccf7a56-aa1e-4c2a-ad8a-62c0ab07f371 \ No newline at end of file +2021-09-15T23:00:56.670-06:0033_5305060020022021-09-1521uuid:1ccf7a56-aa1e-4c2a-ad8a-62c0ab07f371 \ No newline at end of file diff --git a/formshare/tests/resources/forms/case/merge/data/start_03.xml b/formshare/tests/resources/forms/case/merge/data/start_03.xml index 8bde0d52c..28079d299 100644 --- a/formshare/tests/resources/forms/case/merge/data/start_03.xml +++ b/formshare/tests/resources/forms/case/merge/data/start_03.xml @@ -1,2 +1,2 @@ -33_530506003José Mora12539.8877497 -83.6559489 627.1196693633253 24.9uuid:a638a883-82af-4373-81ec-556996faed16 \ No newline at end of file +33_5305062021-04-20003José Mora12539.8877497 -83.6559489 627.1196693633253 24.9uuid:a638a883-82af-4373-81ec-556996faed16 \ No newline at end of file diff --git a/formshare/tests/steps/case_management.py b/formshare/tests/steps/case_management.py index 4534ff502..2b44682da 100644 --- a/formshare/tests/steps/case_management.py +++ b/formshare/tests/steps/case_management.py @@ -13,7 +13,11 @@ def t_e_s_t_case_management(test_object): resource_file = os.path.join(test_object.path, *paths) res = test_object.testapp.post( "/user/{}/project/{}/forms/add".format(test_object.randonLogin, "case001"), - {"form_pkey": "hid", "form_caselabel": "fname"}, + { + "form_pkey": "hid", + "form_caselabel": "fname", + "form_casedatetime": "coll_date", + }, status=302, upload_files=[("xlsx", resource_file)], ) @@ -147,6 +151,45 @@ def t_e_s_t_case_management(test_object): ) assert "FS_error" in res.headers + # Update a form fails. Date variable is empty + paths = ["resources", "forms", "case", "case_start.xlsx"] + resource_file = os.path.join(test_object.path, *paths) + res = test_object.testapp.post( + "/user/{}/project/{}/form/{}/updateodk".format( + test_object.randonLogin, "case001", "case_start_20210311" + ), + {"form_pkey": "hid", "form_caselabel": "fname", "form_casedatetime": ""}, + status=302, + upload_files=[("xlsx", resource_file)], + ) + assert "FS_error" in res.headers + + # Update a form fails. Date variable is the same as the primary key + paths = ["resources", "forms", "case", "case_start.xlsx"] + resource_file = os.path.join(test_object.path, *paths) + res = test_object.testapp.post( + "/user/{}/project/{}/form/{}/updateodk".format( + test_object.randonLogin, "case001", "case_start_20210311" + ), + {"form_pkey": "hid", "form_caselabel": "fname", "form_casedatetime": "hid"}, + status=302, + upload_files=[("xlsx", resource_file)], + ) + assert "FS_error" in res.headers + + # Update a form fails. Date variable is invalid + paths = ["resources", "forms", "case", "case_start.xlsx"] + resource_file = os.path.join(test_object.path, *paths) + res = test_object.testapp.post( + "/user/{}/project/{}/form/{}/updateodk".format( + test_object.randonLogin, "case001", "case_start_20210311" + ), + {"form_pkey": "hid", "form_caselabel": "fname", "form_casedatetime": "age"}, + status=302, + upload_files=[("xlsx", resource_file)], + ) + assert "FS_error" in res.headers + # Update a form pass paths = ["resources", "forms", "case", "case_start.xlsx"] resource_file = os.path.join(test_object.path, *paths) @@ -154,13 +197,17 @@ def t_e_s_t_case_management(test_object): "/user/{}/project/{}/form/{}/updateodk".format( test_object.randonLogin, "case001", "case_start_20210311" ), - {"form_pkey": "hid", "form_caselabel": "fname"}, + { + "form_pkey": "hid", + "form_caselabel": "fname", + "form_casedatetime": "coll_date", + }, status=302, upload_files=[("xlsx", resource_file)], ) assert "FS_error" not in res.headers - # There are not case starts with repository + # There are no case starts with repository test_object.testapp.get( "/user/{}/project/{}/caselookuptable".format( test_object.randonLogin, "case001" @@ -168,7 +215,7 @@ def t_e_s_t_case_management(test_object): status=404, ) - # There are not case starts with repository + # There are no case starts with repository test_object.testapp.get( "/user/{}/project/{}/caselookupcsv".format(test_object.randonLogin, "case001"), status=404, @@ -552,7 +599,7 @@ def t_e_s_t_case_management(test_object): ) assert "FS_error" in res.headers - # Upload a case follow up pass + # Upload a case follow-up pass paths = ["resources", "forms", "case", "case_follow_up.xlsx"] resource_file = os.path.join(test_object.path, *paths) res = test_object.testapp.post( @@ -837,7 +884,7 @@ def t_e_s_t_case_management(test_object): ) assert "FS_error" in res.headers - # Update a form fails. No case case type + # Update a form fails. No case type paths = ["resources", "forms", "case", "case_follow_up.xlsx"] resource_file = os.path.join(test_object.path, *paths) res = test_object.testapp.post( diff --git a/formshare/tests/steps/case_management_start.py b/formshare/tests/steps/case_management_start.py index 140c8e070..2b979fd13 100644 --- a/formshare/tests/steps/case_management_start.py +++ b/formshare/tests/steps/case_management_start.py @@ -176,12 +176,49 @@ def t_e_s_t_case_management_start(test_object): ) assert "FS_error" in res.headers + # Upload a case creator fails. No case date + paths = ["resources", "forms", "case", "case_start.xlsx"] + resource_file = os.path.join(test_object.path, *paths) + res = test_object.testapp.post( + "/user/{}/project/{}/forms/add".format(test_object.randonLogin, "case001"), + {"form_pkey": "hid", "form_caselabel": "fname", "form_casedatetime": ""}, + status=302, + upload_files=[("xlsx", resource_file)], + ) + assert "FS_error" in res.headers + + # Upload a case creator fails. Case date variable same as pkey + paths = ["resources", "forms", "case", "case_start.xlsx"] + resource_file = os.path.join(test_object.path, *paths) + res = test_object.testapp.post( + "/user/{}/project/{}/forms/add".format(test_object.randonLogin, "case001"), + {"form_pkey": "hid", "form_caselabel": "fname", "form_casedatetime": "hid"}, + status=302, + upload_files=[("xlsx", resource_file)], + ) + assert "FS_error" in res.headers + + # Upload a case creator fails. Case date variable has an invalid type + paths = ["resources", "forms", "case", "case_start.xlsx"] + resource_file = os.path.join(test_object.path, *paths) + res = test_object.testapp.post( + "/user/{}/project/{}/forms/add".format(test_object.randonLogin, "case001"), + {"form_pkey": "hid", "form_caselabel": "fname", "form_casedatetime": "age"}, + status=302, + upload_files=[("xlsx", resource_file)], + ) + assert "FS_error" in res.headers + # Upload a case creator pass. paths = ["resources", "forms", "case", "case_start.xlsx"] resource_file = os.path.join(test_object.path, *paths) res = test_object.testapp.post( "/user/{}/project/{}/forms/add".format(test_object.randonLogin, "case001"), - {"form_pkey": "hid", "form_caselabel": "fname"}, + { + "form_pkey": "hid", + "form_caselabel": "fname", + "form_casedatetime": "coll_date", + }, status=302, upload_files=[("xlsx", resource_file)], ) @@ -193,7 +230,11 @@ def t_e_s_t_case_management_start(test_object): "/user/{}/project/{}/form/{}/updateodk".format( test_object.randonLogin, "case001", "case_start_20210311" ), - {"form_pkey": "coll_date", "form_caselabel": "fname"}, + { + "form_pkey": "coll_date", + "form_caselabel": "fname", + "form_casedatetime": "coll_date", + }, status=302, upload_files=[("xlsx", resource_file)], ) diff --git a/formshare/views/form.py b/formshare/views/form.py index 1a022dfa8..fffbde04f 100644 --- a/formshare/views/form.py +++ b/formshare/views/form.py @@ -1038,6 +1038,7 @@ def process_view(self): if project_details["total_forms"] == 0: form_casetype = 1 form_caselabel = form_data.get("form_caselabel", "") + form_casedatetime = form_data.get("form_casedatetime", "") if form_caselabel == "": next_page = self.request.params.get( "next" @@ -1052,6 +1053,20 @@ def process_view(self): ) ) return HTTPFound(next_page, headers={"FS_error": "true"}) + if form_casedatetime == "": + next_page = self.request.params.get( + "next" + ) or self.request.route_url( + "project_details", + userid=project_details["owner"], + projcode=project_code, + ) + self.add_error( + self._( + "You need to indicate a variable for recording the date of each case" + ) + ) + return HTTPFound(next_page, headers={"FS_error": "true"}) if form_caselabel.upper() == primary_key.upper(): next_page = self.request.params.get( "next" @@ -1066,6 +1081,26 @@ def process_view(self): ) ) return HTTPFound(next_page, headers={"FS_error": "true"}) + + if ( + form_casedatetime.upper() == primary_key.upper() + or form_casedatetime.upper() == form_caselabel.upper() + ): + next_page = self.request.params.get( + "next" + ) or self.request.route_url( + "project_details", + userid=project_details["owner"], + projcode=project_code, + ) + self.add_error( + self._( + "The datetime variable cannot be the same as the variable to identify each case " + "or the variable to label each case" + ) + ) + return HTTPFound(next_page, headers={"FS_error": "true"}) + else: form_casetype = int(form_data.get("form_casetype", "0")) if form_casetype == 0: @@ -1254,6 +1289,7 @@ def process_view(self): form_casetype = int(form_data.get("form_casetype", 0)) if form_casetype == 1: form_caselabel = form_data.get("form_caselabel", "") + form_casedatetime = form_data.get("form_casedatetime", "") if form_caselabel == "": next_page = self.request.route_url( "form_details", @@ -1267,6 +1303,19 @@ def process_view(self): ) ) return HTTPFound(next_page, headers={"FS_error": "true"}) + if form_casedatetime == "": + next_page = self.request.route_url( + "form_details", + userid=project_details["owner"], + projcode=project_code, + formid=form_id, + ) + self.add_error( + self._( + "You need to indicate a variable for recording the date of each case" + ) + ) + return HTTPFound(next_page, headers={"FS_error": "true"}) if form_caselabel.upper() == primary_key.upper(): next_page = self.request.route_url( "form_details", @@ -1280,6 +1329,23 @@ def process_view(self): ) ) return HTTPFound(next_page, headers={"FS_error": "true"}) + if ( + form_casedatetime.upper() == primary_key.upper() + or form_casedatetime.upper() == form_caselabel.upper() + ): + next_page = self.request.route_url( + "form_details", + userid=project_details["owner"], + projcode=project_code, + formid=form_id, + ) + self.add_error( + self._( + "The datetime variable cannot be the same as the variable to identify each case " + "or the variable to label each case" + ) + ) + return HTTPFound(next_page, headers={"FS_error": "true"}) else: if form_casetype == 0: next_page = self.request.route_url( From 7836055e33aa8d4445d43672bd6c9d4ef9778880 Mon Sep 17 00:00:00 2001 From: qlands Date: Mon, 15 May 2023 07:48:26 -0400 Subject: [PATCH 151/246] Allow complex languages --- formshare/processes/db/form.py | 17 +++++++++++++++ .../repository/create_repository.jinja2 | 20 +++++++++++++++--- .../multi_language/ODK_simple_lng_bad.xlsx | Bin 0 -> 8802 bytes .../multi_language/ODK_simple_lng_ext.xlsx | Bin 0 -> 8810 bytes 4 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 formshare/tests/resources/forms/multi_language/ODK_simple_lng_bad.xlsx create mode 100644 formshare/tests/resources/forms/multi_language/ODK_simple_lng_ext.xlsx diff --git a/formshare/processes/db/form.py b/formshare/processes/db/form.py index 622069b58..9e408143d 100644 --- a/formshare/processes/db/form.py +++ b/formshare/processes/db/form.py @@ -59,6 +59,7 @@ "form_file_exists", "add_assistant_to_form", "get_form_assistants", + "get_form_assistants_through_groups", "update_assistant_privileges", "remove_assistant_from_form", "add_group_to_form", @@ -1617,6 +1618,22 @@ def get_form_assistants(request, project, form): return mapped_data +def get_form_assistants_through_groups(request, project, form): + res = ( + request.dbsession.query(Collaborator) + .distinct(Collaborator.coll_id) + .filter(Formgrpacces.project_id == Collingroup.project_id) + .filter(Formgrpacces.group_id == Collingroup.group_id) + .filter(Collingroup.enum_project == Collaborator.project_id) + .filter(Collingroup.coll_id == Collaborator.coll_id) + .filter(Formgrpacces.form_project == project) + .filter(Formgrpacces.form_id == form) + .all() + ) + mapped_data = map_from_schema(res) + return mapped_data + + def update_assistant_privileges( request, project, form, from_project, assistant, privilege_data ): diff --git a/formshare/templates/dashboard/projects/repository/create_repository.jinja2 b/formshare/templates/dashboard/projects/repository/create_repository.jinja2 index 609ae7515..a6e0e5f12 100644 --- a/formshare/templates/dashboard/projects/repository/create_repository.jinja2 +++ b/formshare/templates/dashboard/projects/repository/create_repository.jinja2 @@ -11,6 +11,7 @@ {% block topScripts %} {{ super() }} {% jsresource request,'formshare','switchery' %} + {% jsresource request,'formshare','validate_ext' %} {% endblock topScripts %} {% block breadcrumbs %} @@ -70,13 +71,13 @@

    {{ _('Language codes') }}
    - {{ _('You must give a code to each language. Use the ')}} {{ _('ISO 639-1') }} {{ _('as reference.') }} + {{ _('You must give a code to each language. Use the ')}} ISO 639-1 {{ _('or the') }} ISO 639-3 {{ _('as reference.') }} {{ _('You can also use localized languages, for example, (en-au) for English-Australia.') }}

    {% for language in languages %}
    - +
    {% endfor %}
    @@ -192,11 +193,24 @@ $(document).ready(function() { {% if has_submit_assistant %} var elem = document.querySelector('.js-switch'); - var switchery = new Switchery(elem, { color: '#1AB394' }); + if (elem) + var switchery = new Switchery(elem, { color: '#1AB394' }); {% endif %} $('#repform').submit(function() { $(this).find("button[type='submit']").prop('disabled',true); }); + + $('.language-code').on('keypress paste', function (event) { + var regex = new RegExp("^[a-zA-Z-]+$"); + var key = String.fromCharCode(!event.charCode ? event.which : event.charCode); + if (!regex.test(key)) { + event.preventDefault(); + return false; + } + }); + + + }); {% endblock scripts %} \ No newline at end of file diff --git a/formshare/tests/resources/forms/multi_language/ODK_simple_lng_bad.xlsx b/formshare/tests/resources/forms/multi_language/ODK_simple_lng_bad.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6cc37eb8a8f14675effa5f483757f0700a39b646 GIT binary patch literal 8802 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 AF#%6F+H#IzQrqjt6U%e)mH!q5g-YS z^K{)1V1KAGH@&r2^zMzpzj*~fB~TQ96&dJ8E_wDKHJO3M2}DJz+(x~V^EbO8w!UZ2 zvg?m_$n~(i(9q{A)Vg7WY5X z;Q{xQdV-hfFlnw{zlR^qyHsmC^m*|51_LxW9;;$5SzfLB&8H_6-{LDH!X8-kn-yA` zYC!LW} z)V5>A1kXoOt77o0jMDY?Qu;m zENaaiwAL=o3|rI6EXxgB)66{LjI#4sOk0&w=@|ifEr>kq`T$u| zxHT_PsPMv`&a|2g>(5~j{Kx4X=HJshOCx79Qx#WdD|?H-hInZSqxKlgn1MHZf!k`$ zlGLP1ifqYr2(+Y1MX!&7M)&$$Seeh~`UI6yIE_11E_)rNu`7kCmq*9l$LoMcE_wzh zu;gxp*=}xB1_tuEh9$ZMc7k!JH=LU{$~~g>#{^NzeN2@xDNRWlv-v7SQluBY_(^--|U_R}IpNKG1nSKe^S5TCDy~Vy8C))q%RY zD98R_mtty9Dt<|f(s{1Rb~0zTSz1nyDC@~D0S1Y!)|@qs(aynjDUw9ph1r;Q>}=!n zsl%3@F?;*&&kid3YGc>a;2JjdbX&Z)Qm8xftqN#`jl)5tmlv>bI%}b`$cKJ28;p&N z^e7e`gGR2V-E?(k^kD7|k2_mR5?@~A!)zjKs5e_Nu?zcoF zZgWTqwovq=smQ?{X^Nem43?jgA0{7B*1lhX z6VmYi>|&#Z3XUxvyWk`g13bzUE`f>m1J`x!8>S(You9*7*K5UtriyMX~n(+G_d%C@u&Q_ z)y2Fpdna*eTp6PzdM^don+55EX41oF8jtND`-bJ9jSS8GfxPCN5hv)=Y*&dLvLnD)@OQc>&PSvQN}Gva|=+ z%B>y`f=)OK92%cUE<51S>s6^UCo0kqNkOa!o8y$%D~X%V!LM`g^rp=|&a4V%orEQB z1FUJ@eW3%-9ii_GfQ~GC<8p^{+YCWn%C@KR9=!rCilF>3ZB+rDN0$k9Sn?{>p|LyA zHzy+C;B1f8-f>qB@NNe}5P}!kCuXI(V0Y#-$m+AX5g&Y-zXb|K~4{h{AJ$5jqec2%ZgMAafGQnuSnQGYCCAZuZWSO z`1>M_b^F1*MTh55HI3TS z0KwD+>jyCmanO|!czvoObepa#Q#w7Ep8F`4!m6&EgjNcZc1Itr8&U%Kh*O-#vy4-J z^;IH$js3Dc4(`L0jy5ky&&~@?OsTR^*XHp%&;rzB89JAA0=_b?v-g_5S}b9lqc2kB zqK+Z;oVkg>asx*&GaB3Wnk7ZPfV<$P62sHmNoOR31$&e4^xNj8dFkz6yX$yrI@X8h zxTHNt@4u^J7{5o(SE;-0sv@2Cy$}|?)8CKdT^CaMx4ZaNdsOLc|znr zB^N2tH+>sKwW6p}+D1*OPM%+j?VrHIM>NY#QM$2${G^KU8CwX64@D~dJ9u6bu+R)T zb1@?}^r~H3g3SAz%>Ah)Q@dBV(_WiejYCz@8zi(((vgQ;6zxY_>&R>6?MVUl6$8$Y zv#Ae3aF=+nUp)5r9z$(0(+Xx~AnmiP{6CLc3j%uz12q1bJ?}$7eiwJ(v@PT;AMj)G>9>#M#JN_{nUt+2w z;$ZJ;X76gC>gj0aqW2QhQ8gWfZqgTV$kKy7(2lAv$<6!pyin%zILvx&Z@i4(=+P=- z8e`b(LA5yW_4elzaTK=Ha5MORMTHV_ewglW0qx>?o>~uY7-w@hw@Vko^P@(x>W#7|%$ArB4T13_kB)rX9 zu-$J>kQjEb5(qftZ*dhS)8oquVGf4crYEqhTKe%UA3|GDq~(jERp z`F&&g?09RH5N@BihmE$N>qzqe^GUF$DH#r_NBzx1$w z;{0Bz;3{zI+*)BSgoYkY0}Gyc2qswZOpsAGL@pPXGV_ literal 0 HcmV?d00001 diff --git a/formshare/tests/resources/forms/multi_language/ODK_simple_lng_ext.xlsx b/formshare/tests/resources/forms/multi_language/ODK_simple_lng_ext.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..67f5bdd1f088dc3dc02ce88088445ad90eaaea76 GIT binary patch literal 8810 zcmbVxbx>X3k~QuGcPBt_cbDMq?(Xg(K#<_>9^CZ;!QI^nPA(8!gWCt0HL|Qp?pq{xJBL|N2g*HqH$6uiq7MU2;8)2*D@b zVbs@btAa3J3R`3(T1Z$4JIUO=E-1J1ABqoE>1*7ig>e)N4ZDp-@Tqg`X9kk$)T z)eHq|qcHX<>K%D<^kiTk%l+7o!YQs~FGB4UEid(RbW>mwm^oQ*-iqAwM$mGv;PgQg%24HJ~cns)pWgmEws5QYCWOh_+Jc-Szw+dEks z+1p#wd)V4UDh=5!Ga|QL(?G1*(&<^@C4s9)#el3L7Y(JxiD6oYp%2C;V?JI-k}YIJ1C?lCzTwceXtrq* z)_;4abwbchgI5byqxH2?7M`++U>^?M)X7#V%7u+*K@G~o3?78G0MBD>maa*m+*l*! zd2`Z}UTJX`Krdt{ZY1cGe{4%aJ)$7k5>w>QrAE6ERHUt+2EaNyYe-+_wX)2!=g_w(5Ha#X~O z*jfP+NJNzN_433N^Ph)p(uMfWd#}1?>J(D>gCo>j+PR6Afpvq`IgoPVb&f>$jL@FvlL*u%Xwe2ujF`*fT9|TDZv;ErUy#;OG`PH&^5On5l^6z`KzgPkVU&+z6aI$Yc? z@U3MQ&4XFZ535H}rOnR`ERF74`|n;;3Q-?^1@k4Hj=}#ar4ausrJP+nZA_hC6Y5A) zu_~P%{o{I-;75H&VR{Z3GSy`28NEWQwnPe9Z--9gvVO6C%lN0eTLWPUqxE`A`{b6O zUAPZX9nSpxM0olV`gSygA96|!l}0CbA;my3Qb$uM&39LO&IhRAaAn`ieMNT(b^{18 z{1C{GTywm0lP!5812Hu^sdaEy#As8?Rv~dAJgK7H8;iP_6hG*K^$=`yMmS6)gU1B% z0&t7|fp`U?Yf?8RZ0U-o&nEDbO2kRIBSNr^tcvmRc=r++`z$2rSz?#^{Fk}lPbYX` zGg$`M*gqZ_Wn$PyXVNTW6E)JrCUpf4tyq$}(UTEpuI@jt6_B<}-5g(lMsCqUV{QvO zm4K;Mnps#zSw`rKq|Bv)8<#B;?<|-fe9AIEu;8q#f0wr>Rk|WGyGd44NNk>;@afe3 z5&}bi zY%|@sd5Hy{858L7YC+^In}qJgs*-R_146~-kA{)hJq+`L;$6uB4k@d&J+~>Vv5SO5 z9w_UQ#dm19VReU?uo^(tk?UoI?3p>$;j2$$`fV5g)6=x=Lj$Kd|JFs~Z1!^2 z6VK4jt@tjLN?l2Nwncn^1#klSXn8EoT-QpzaLM=U^l7rCoA%te6kW6IyM0CUVIzQ;unU6darjNgR>c;@#0f@ ze2OGdMI8^7U1}VdHEvwOjU#-fKCFOjj)14O%UC~K+|z8Gai2!+8Do5JQT8RjJD#m# z^H^!_iX}Uqy4tSccPG?8(#ReGXWQ<7j}lQDoo)|x&v%bxQ0e7tY~<`Q8@l;}kZ7GY zG?&cL8w6;EEXt2GD%LSD0K$30t9YLQCqIAU&{6sM^TgRj2k0vud}N!=pM9Z%8KQrp z1MJ@w#@WKu)WwQI_GgBx1Chwd_`I(avQ#y?R9f&pk_&3GI1-tD)hrI z0}H{Z&D>hBmj*-lbh%?N0F4D8d~DV)gPg0IVDL0MWGaK9+bOi>D)bKzEX?;vOBW!r zw=QSX7BN8w7xmT3oyld`m_X}h(x_K5o1cYIY$I!90%ykV!_ z%_P2WszZ!Y+ajK3-ce}ZxJZLacy(&7Z*tNRB~QaBTJW)SxC}W(@Vl!T^2>4U8TMKp z3J?g0=P0t|LTKuz@0#N<>dZ;Ett^<6c7%@5sMSp4LemA6AM zzKKj};i)c90XTSZj-%~U==-%onn8vY@8xd@FR}}CejxpX#!fT!W~w{*j8&K57npkp z)sx=*R00MCs3fTd`DN{J<1GtIDJSElEsNI+54=<$t7T_p&V?i zDObVBFJP*oEcRAYj=mdvA>wTDI90>n{o}BtEEmp~2!^;VfLTVA>vpeGz=d+NoHHt? z@h~@*fz3qLRL?-8(KT59*dFj{;EbiM^9;!T*`LP^*W)+{ZoeK7#i6CL0B72=xIdQL zK8h?Jj*|x+P}2B`w_62yUv*ZDM9=Ao7#EW7Y&@O>;XLpsBoIp!w$J}FP4zL>_~=?V zwsr3%^5zwabkHdeOjWc7BFaai8bZ=fn1%to6=GSHa+&96cpI%?p3ICzXd1<^tnc5a z3Bql5v=v0|(cq<| zgnYqnfNB^Ns>fX{AK28yp+!t~5z*3HYN;~?unP4`abm41TA<;_rKs0+ z37Ys}6{){vM*GLbep*j-f-|vULIsuqQ@-zU=1$UG-`vy);&|pkiho1J!mk^L9w%gx zi`)EEu|v0x>`f||F(edh+$Y5Anzw_s5D+zmAt!B^EeAFbo=&8473)N~y*sTYr`oHu z+l+?Qp7Ahvkpa?bOSuh{cH_ZWN)!u~8a*DuQ_DWFx+3|3?PN3?@n(P7P0IkcyN@9L zkctl-Nn2;dpS^kr8`N?O-Oes4!7&)-Gc9uhuP@cKzIOLANkT01EY1xX=SUJO7O+(+ z!X`|QN{!rqp$?{^q-!c}GR~k$nwY0xI1;^6V#o~KmHGzJa4xo#ZM|U6%hx8OFQTvn zSFNjIU#F+wym<7;H5tKfS#$Th{wudCEg8^bLV|$EWBebumHEH9_4_Ywb-3k!>Sm7t zD>U;zv{5xyp~j-kHaiLzb4{{ zaoGhY8St5qzQE(1or%xO@@O;2s8iUc5#O6UySpD+Z*1L69u)JjrNLo}Q_@Qk`XX(^ zDf_rkF=-fsG6T=>CBJU*XrtrjX{;xhH~irIlKED6EN(NnBPf6zHuN-1^d4VXGtMD{ z1a>n#0X^5uJ8Zod%h@F`Z~hD*tdq!tn0;`4&lLLgQUy4cCfRWiPp~SG4S^P`2H2)1(5l}z zpXEytnop$cuUJ^BjKd*TrdS1EpiC^7@&?~D4xb~-E}N%Y9<_}EuI%PFn{sETmJgae z>|A9>mQ;i?D;9Ai+!>6WZ|8goor8CPQK&+&xa?!{10xDiB7?kYn_bPQCR8sdG z^)2v_W#~33>(dEi5v|a4dTDsXr}`+MsKu<`BVVJ|(4yqA50M+qiAT_*9H62AxC#+_ zp0VOsudmdMMJ$OO`f zKLTBcP1r!rct~}FbV9cD(T2QzV;?@62#M!|N-Qc`f-oN!vx4loT;5S{2^VYxsKV)~ zzuY`3p8b52`AG*+kejcm9j-}%s^`rIew-jokpEU^4*+$e!EE z%gRzfBsEK&5|ahT#R_q|F4)BDAVRiCbTd3`q=~x8V_s-iI>u-=2B?U5b20MaB*qS- zHLplN5}ml>4#Q-TRgPYF2z+xdEvNDtfvjf3M;!H;*^M_cu*3YBH&Gmw0y(<3O9EdL z_orlSAuD+t=k6tUJ)@9pV2zzTM(p}0d_dzx{cnSLd*H{=Rp{Q)^3m&`BR7In-h!&0s=t!KhPt~FM3pywO{^4 zkH{`n?W7}a#AO!o9xZ~+^z(a|yOEew;V`0Bl1ot+2ksJ5wfOfjB8o%^R>5i4JBVC) z4?yXjR=(IUxb{;Z@i||&v_I84{lkg;2olS>GOlAp%7)1%QRukU_QsH8S1iMoFMeOt5$pqACq+_fV@$dYS(- zOWNQThdl5Enecf<5#V--jtDl%*0V;gS7 zv{>xXM2TyMt3+uD02SZbHR(#22ei5bRv!3@I!S}3d~?HvoN?ifu6yD*S~^li0#F!d zPfSy$UJ2|X;C&I=D63q$as#IIp3w%s^^PZ(Ob`Z0!T79Vyt%Mk5LUMd)tOP}1UgTC zb2V6&JzCkfQ&{19LpO3Q6Ostn)xf_|mc4-k_%BJrO)uK}2d%@EkmpX?b08#6WOF_# zD)U7MBT+nC941WqoV+*Yr%u4Ze<(-4rqjLQ2-eaMh%Z2=V`HnQ>nf=QfO({-Va$de zkSFd#u%)PD3mnQ1Gz~)b+nIFN;8qy!k#b*D69#kvPes)pkY1_5`IZ-S?&VZE2m4Rd zfcsyk(*K$e|2h5qH7#z7|DS2`pnF;a-s`lOIA3?b!;jK6-O3jA8)!qLJ~9lqWhti& zk7fh#`T31+>7^llFEr})8Wm+NJ_I)~ea#ha&5gl5y1Ei;4ilPS2Cc!zAl43_rkW}E z9o07td^U6b9O?A=nPOwBl6ax?wqu1P&nIHbQqarP!bMg%iy3rcw*kNBsVm!Mybo79 zKJT#@G$f)1K)I-__8F;fj_dNl&ue`=W$)$Xy&FQ#qBq2~Z+#OlmVXVD6O{(-=1Uj^{&AXz{;z4Cg`tzFiL#56 zrJeb&pb?>iINJTlhK6M$&ehI8@Bri z`nZ+^=J5`;d*^GeYY(?UlLpj+Y2PLSCs#z2jYdHOzA1_)QraN_M5SOC26eIRcfu8@ z;vR$!sMOtF`aiiKbF+S#HrRG44X6O zE3jl$lxqK@<&~P~a##&XUBARYL2x+liUR~f|W!}-m z=!BGkKVg+-a<5`FTuzB+ZLs}pkB9j*qpii0plj=eEUH*ttYiIj=wqJHYZ11Xass+G zp}k8=Q!AP@!QLOGd{IxEe$Lc{XYn0NASVXX=88E@u86DXx*E;X+fjQon;8?xd%6Jp zX;yyoE0+`BQL{X}#3l13djGpRhW2OVj9r~w>}_9zS05)UAIOL-c=8lh=-v>7p$k*( zXvjgxn=PN;^gJC+#U)VF{)8%@}>tP*iW()m%as` z@Ia*6zmuC3kC}4FiIWMwu}}5NBEhWR(aisyM0(E}S0<^6v0p(03sEz{nHbtcKxu*gbt9diQ>)Q!2W-nvoyg+h|AR=~zUdL;VBTYc~3@ z>guAs#Iy4sv+*^i+9LLLE~a)a`YN6drp~&rF&$IYmhbr&L$C$eQuL>|d7qvaOJ__# zZ36ldrTxZ^*5Nbh!{_&F#e7J&Gfu?bu%=g<-}Fm%7GQgspg;m#u}Vj17Lo7v&FhSmDOECTr z4z9V}$Eoejvi2&7_|SF(gVc5it}?us4`sXtc?BnY{Q*cN`tt_8k8?11?Ve*I9ni1KUF_BYC(9q7NKK%o9dlwSwZzft~d&tALL-$sP_ z3*~?5UH``UvueLKbH7aj>lcpm->u!>2!B?Y*XsV;JaPU*t^eEoPpW+_MZXOm?+^EX z6{f$v|0I=H>iBJ<_4f*m$fPf&pUN3nk@gi@5fc!re CxlYjl literal 0 HcmV?d00001 From dbecb24936d3a6455a8fefb61f767d704d217875 Mon Sep 17 00:00:00 2001 From: qlands Date: Mon, 15 May 2023 07:49:14 -0400 Subject: [PATCH 152/246] Fix assistant access --- formshare/processes/odk/api.py | 4 ++-- formshare/processes/odk/processes.py | 9 ++++----- .../dashboard/projects/forms/form_details.jinja2 | 2 +- .../projects/forms/snippets/form_details.jinja2 | 2 +- formshare/views/form.py | 5 +++++ 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/formshare/processes/odk/api.py b/formshare/processes/odk/api.py index 23a4baaf5..2877ebea1 100644 --- a/formshare/processes/odk/api.py +++ b/formshare/processes/odk/api.py @@ -735,8 +735,8 @@ def check_jxform_file( return ( 7, _( - "Malformed language in your ODK. You have label:X (Y) when it must be label::X (Y). " - "With two colons (::)" + "Malformed language in your ODK. Labels must be translated in this way: label::Language (Language_code). " + "For example, label::English (en), or label::English-Australia (es-au), or label::Gikuyu (kik)" ), ) diff --git a/formshare/processes/odk/processes.py b/formshare/processes/odk/processes.py index 43f666b5f..734ee1c4a 100644 --- a/formshare/processes/odk/processes.py +++ b/formshare/processes/odk/processes.py @@ -511,11 +511,10 @@ def get_assistant_permissions_on_a_form( .first() ) if res is not None: - privileges = { - "enum_cansubmit": res.group_can_submit, - "enum_canclean": res.group_can_clean, - } - + if privileges["enum_cansubmit"] == 0: + privileges["enum_cansubmit"] = res.group_can_submit + if privileges["enum_canclean"] == 0: + privileges["enum_canclean"] = res.group_can_clean return privileges diff --git a/formshare/templates/dashboard/projects/forms/form_details.jinja2 b/formshare/templates/dashboard/projects/forms/form_details.jinja2 index d439bfc23..f3353402a 100644 --- a/formshare/templates/dashboard/projects/forms/form_details.jinja2 +++ b/formshare/templates/dashboard/projects/forms/form_details.jinja2 @@ -127,7 +127,7 @@
    {% if assistants|length > 0 %} - {% if formassistants|length > 0 %} + {% if formassistants|length + form_assistants_through_groups|length > 0 %} {% if formDetails.form_schema != None %} {% include 'dashboard/projects/forms/snippets/form_important_links.jinja2' %} {% endif %} diff --git a/formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2 b/formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2 index f1f78c50c..a66b198d8 100644 --- a/formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2 +++ b/formshare/templates/dashboard/projects/forms/snippets/form_details.jinja2 @@ -23,7 +23,7 @@ {% endif %}
    {{ _('Assistants') }}:
    -
    {{ formassistants|length }} {% if formassistants|length == 0 and formgroups|length == 0 and projectDetails.access_type < 4 %} ({{ _('You need to assign one') }} ){% else %} {% if projectDetails.access_type < 4 %} [{{ _('Assign another one') }}]{% endif %}{% endif %}
    +
    {{ formassistants|length + form_assistants_through_groups|length }} {% if form_assistants_through_groups|length > 0 %}({{ form_assistants_through_groups|length }} {{ _('through groups') }}){% endif %}{% if formassistants|length == 0 and formgroups|length == 0 and projectDetails.access_type < 4 %} ({{ _('You need to assign one') }} ){% else %} {% if projectDetails.access_type < 4 %} [{{ _('Assign another one') }}]{% endif %}{% endif %}
    {{ _('Assistant groups') }}:
    diff --git a/formshare/views/form.py b/formshare/views/form.py index fffbde04f..c2edb41bf 100644 --- a/formshare/views/form.py +++ b/formshare/views/form.py @@ -25,6 +25,7 @@ get_all_assistants, add_assistant_to_form, get_form_assistants, + get_form_assistants_through_groups, update_assistant_privileges, remove_assistant_from_form, get_project_groups, @@ -801,6 +802,9 @@ def process_view(self): assistants = get_all_assistants(self.request, user_id, project_id) form_assistants = get_form_assistants(self.request, project_id, form_id) + form_assistants_through_groups = get_form_assistants_through_groups( + self.request, project_id, form_id + ) groups = get_project_groups(self.request, project_id) form_groups = get_form_groups(self.request, project_id, form_id) if form_data["form_reqfiles"] is not None: @@ -946,6 +950,7 @@ def process_view(self): "formFiles": form_files, "assistants": assistants, "formassistants": form_assistants, + "form_assistants_through_groups": form_assistants_through_groups, "groups": groups, "formgroups": form_groups, "withgps": number_with_gps, From 28a1b15805c7264e78538ff08c5c1b69b00a8b26 Mon Sep 17 00:00:00 2001 From: qlands Date: Mon, 15 May 2023 07:49:32 -0400 Subject: [PATCH 153/246] Test multi-language --- formshare/tests/steps/multilanguage_odk.py | 103 ++++++++++++++++++++- 1 file changed, 102 insertions(+), 1 deletion(-) diff --git a/formshare/tests/steps/multilanguage_odk.py b/formshare/tests/steps/multilanguage_odk.py index 645bd9658..038bfb7ff 100644 --- a/formshare/tests/steps/multilanguage_odk.py +++ b/formshare/tests/steps/multilanguage_odk.py @@ -3,6 +3,20 @@ def t_e_s_t_multilanguage_odk(test_object): + # Upload a multi-language form fails because the language is malformed + paths = ["resources", "forms", "multi_language", "ODK_simple_lng_bad.xlsx"] + resource_file = os.path.join(test_object.path, *paths) + + res = test_object.testapp.post( + "/user/{}/project/{}/forms/add".format( + test_object.randonLogin, test_object.project + ), + {"form_pkey": "cedula"}, + status=302, + upload_files=[("xlsx", resource_file)], + ) + assert "FS_error" in res.headers + # Upload a multi-language form succeeds paths = ["resources", "forms", "multi_language", "spanish_english.xlsx"] resource_file = os.path.join(test_object.path, *paths) @@ -67,4 +81,91 @@ def t_e_s_t_multilanguage_odk(test_object): status=302, ) assert "FS_error" not in res.headers - time.sleep(60) + time.sleep(60) # Waiting for Celery to create the repository + + # Get the details of a form. The form now should have a repository + res = test_object.testapp.get( + "/user/{}/project/{}/form/{}".format( + test_object.randonLogin, + test_object.project, + test_object.formMultiLanguageID, + ), + status=200, + ) + test_object.root.assertTrue(b"With repository" in res.body) + + # Upload a multi-language form with complex languages succeeds + paths = ["resources", "forms", "multi_language", "ODK_simple_lng_ext.xlsx"] + resource_file = os.path.join(test_object.path, *paths) + + res = test_object.testapp.post( + "/user/{}/project/{}/forms/add".format( + test_object.randonLogin, test_object.project + ), + {"form_pkey": "cedula"}, + status=302, + upload_files=[("xlsx", resource_file)], + ) + assert "FS_error" not in res.headers + + # Add an assistant to a form succeeds + res = test_object.testapp.post( + "/user/{}/project/{}/form/{}/assistants/add".format( + test_object.randonLogin, + test_object.project, + "prueba_simple_lng_ext", + ), + { + "coll_id": "{}|{}".format( + test_object.projectID, test_object.assistantLogin + ), + "coll_can_submit": "1", + "coll_can_clean": "1", + }, + status=302, + ) + assert "FS_error" not in res.headers + + # Generate the repository using celery fails due to language + res = test_object.testapp.post( + "/user/{}/project/{}/form/{}/repository/create".format( + test_object.randonLogin, + test_object.project, + "prueba_simple_lng_ext", + ), + {"form_pkey": "cedula", "start_stage1": ""}, + status=200, + ) + test_object.root.assertIn(b"form_deflang", res.body) + + # Generate the repository using celery pass + res = test_object.testapp.post( + "/user/{}/project/{}/form/{}/repository/create".format( + test_object.randonLogin, + test_object.project, + "prueba_simple_lng_ext", + ), + { + "form_pkey": "cedula", + "start_stage2": "", + "form_deflang": "Zapotec-Texmelucan", + "LNG-English-USA": "en-us", + "LNG-Spanish": "es", + "LNG-Zapotec-Texmelucan": "zpz", + "languages_string": '[{"code": "en-us", "name": "English-USA"}, ' + '{"code": "es", "name": "Spanish"}, ' + '{"code": "zpz", "name": "Zapotec-Texmelucan"}]', + }, + status=302, + ) + assert "FS_error" not in res.headers + time.sleep(60) # Waiting for Celery to create the repository + + # Get the details of a form. The form now should have a repository + res = test_object.testapp.get( + "/user/{}/project/{}/form/{}".format( + test_object.randonLogin, test_object.project, "prueba_simple_lng_ext" + ), + status=200, + ) + test_object.root.assertTrue(b"With repository" in res.body) From 8b50fb8a863466a4a685514c719a0e48a671eba5 Mon Sep 17 00:00:00 2001 From: qlands Date: Mon, 15 May 2023 07:50:34 -0400 Subject: [PATCH 154/246] Update ODK Tools --- .circleci/config.yml | 2 +- docker_files/formshare/build_ci.sh | 2 +- docker_files/formshare/build_odktools.sh | 2 +- docker_files/formshare/master.Dockerfile | 2 +- docker_files/formshare/stable.Dockerfile | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b140cfaa6..25bb99a71 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: py-3.10: &build-template docker: - - image: qlands/odktools_circleci:20230326 + - image: qlands/odktools_circleci:20230513 - image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 environment: - bootstrap.memory_lock=true diff --git a/docker_files/formshare/build_ci.sh b/docker_files/formshare/build_ci.sh index b134d39c2..bd99dc542 100755 --- a/docker_files/formshare/build_ci.sh +++ b/docker_files/formshare/build_ci.sh @@ -1 +1 @@ -sudo docker build --no-cache --rm -t qlands/odktools_circleci:20230326 -f ./circleci.Dockerfile . \ No newline at end of file +sudo docker build --no-cache --rm -t qlands/odktools_circleci:20230513 -f ./circleci.Dockerfile . \ No newline at end of file diff --git a/docker_files/formshare/build_odktools.sh b/docker_files/formshare/build_odktools.sh index 53a2fba67..930f6a1e9 100755 --- a/docker_files/formshare/build_odktools.sh +++ b/docker_files/formshare/build_odktools.sh @@ -1 +1 @@ -sudo docker build --no-cache --rm -t qlands/odktools:20230326 -f ./odktools.Dockerfile . \ No newline at end of file +sudo docker build --no-cache --rm -t qlands/odktools:20230513 -f ./odktools.Dockerfile . \ No newline at end of file diff --git a/docker_files/formshare/master.Dockerfile b/docker_files/formshare/master.Dockerfile index b63fe4733..a1e4e4a8b 100644 --- a/docker_files/formshare/master.Dockerfile +++ b/docker_files/formshare/master.Dockerfile @@ -1,4 +1,4 @@ -FROM qlands/odktools:20230326 +FROM qlands/odktools:20230513 MAINTAINER QLands Technology Consultants diff --git a/docker_files/formshare/stable.Dockerfile b/docker_files/formshare/stable.Dockerfile index fade0c947..928f11377 100644 --- a/docker_files/formshare/stable.Dockerfile +++ b/docker_files/formshare/stable.Dockerfile @@ -1,4 +1,4 @@ -FROM qlands/odktools:20230326 +FROM qlands/odktools:20230513 MAINTAINER QLands Technology Consultants From b46d3d6b4f1fec3c604a574fe8b8ff4a7f25b402 Mon Sep 17 00:00:00 2001 From: qlands Date: Mon, 15 May 2023 11:13:30 -0400 Subject: [PATCH 155/246] Use ODKTools 2.4 --- docker_files/formshare/circleci.Dockerfile | 2 +- docker_files/formshare/odktools.Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker_files/formshare/circleci.Dockerfile b/docker_files/formshare/circleci.Dockerfile index 94fc6ea96..b0717890e 100644 --- a/docker_files/formshare/circleci.Dockerfile +++ b/docker_files/formshare/circleci.Dockerfile @@ -139,7 +139,7 @@ RUN cp csv2xlsx /bin WORKDIR /opt RUN mkdir odktools-deps -RUN git clone https://github.com/qlands/odktools.git -b stable-2.2 +RUN git clone https://github.com/qlands/odktools.git -b stable-2.4 WORKDIR /opt/odktools-deps RUN wget https://github.com/mongodb/mongo-c-driver/releases/download/1.21.1/mongo-c-driver-1.21.1.tar.gz diff --git a/docker_files/formshare/odktools.Dockerfile b/docker_files/formshare/odktools.Dockerfile index bea79b98d..aeb52a3fe 100644 --- a/docker_files/formshare/odktools.Dockerfile +++ b/docker_files/formshare/odktools.Dockerfile @@ -37,7 +37,7 @@ RUN cp csv2xlsx /bin WORKDIR /opt RUN mkdir odktools-deps -RUN git clone https://github.com/qlands/odktools.git -b stable-2.2 +RUN git clone https://github.com/qlands/odktools.git -b stable-2.4 WORKDIR /opt/odktools-deps RUN wget https://github.com/mongodb/mongo-c-driver/releases/download/1.21.1/mongo-c-driver-1.21.1.tar.gz From b6150edf6a6a55bf14fd44a71a112294242cb8e5 Mon Sep 17 00:00:00 2001 From: qlands Date: Sun, 21 May 2023 14:14:39 -0400 Subject: [PATCH 156/246] Report data columns --- .../5bd66e0534e0_store_extra_columns.py | 49 +++++++++ formshare/config/mainresources.py | 14 +++ .../tour/bootstrap-tour-standalone.min.css | 26 +++++ .../tour/bootstrap-tour-standalone.min.js | 22 +++++ formshare/models/formshare.py | 3 + formshare/plugins/interfaces.py | 71 +++++++++++++ formshare/processes/odk/api.py | 99 ++++++++++++++++--- .../projects/forms/form_details.jinja2 | 32 ++++++ .../forms/snippets/data_columns.jinja2 | 54 ++++++++++ .../projects/forms/snippets/info_tab.jinja2 | 3 + .../forms/snippets/upload_form.jinja2 | 26 +++-- formshare/views/form.py | 57 +++++++++-- 12 files changed, 426 insertions(+), 30 deletions(-) create mode 100644 alembic/versions/5bd66e0534e0_store_extra_columns.py create mode 100644 formshare/jsandcss/css/plugins/tour/bootstrap-tour-standalone.min.css create mode 100644 formshare/jsandcss/js/plugins/tour/bootstrap-tour-standalone.min.js create mode 100644 formshare/templates/dashboard/projects/forms/snippets/data_columns.jinja2 diff --git a/alembic/versions/5bd66e0534e0_store_extra_columns.py b/alembic/versions/5bd66e0534e0_store_extra_columns.py new file mode 100644 index 000000000..92a857ec3 --- /dev/null +++ b/alembic/versions/5bd66e0534e0_store_extra_columns.py @@ -0,0 +1,49 @@ +"""Store extra columns + +Revision ID: 5bd66e0534e0 +Revises: e2d6d5aa3700 +Create Date: 2023-05-20 11:31:44.540336 + +""" +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +# revision identifiers, used by Alembic. +revision = "5bd66e0534e0" +down_revision = "e2d6d5aa3700" +branch_labels = None +depends_on = None + + +def upgrade(): + op.add_column( + "odkform", + sa.Column( + "form_surveycolumns", + mysql.MEDIUMTEXT(collation="utf8mb4_unicode_ci"), + nullable=True, + ), + ) + op.add_column( + "odkform", + sa.Column( + "form_choicescolumns", + mysql.MEDIUMTEXT(collation="utf8mb4_unicode_ci"), + nullable=True, + ), + ) + op.add_column( + "odkform", + sa.Column( + "form_invalidcolumns", + mysql.MEDIUMTEXT(collation="utf8mb4_unicode_ci"), + nullable=True, + ), + ) + + +def downgrade(): + op.drop_column("odkform", "form_invalidcolumns") + op.drop_column("odkform", "form_choicescolumns") + op.drop_column("odkform", "form_surveycolumns") diff --git a/formshare/config/mainresources.py b/formshare/config/mainresources.py index 32d7cbf3c..a842f37f2 100644 --- a/formshare/config/mainresources.py +++ b/formshare/config/mainresources.py @@ -232,3 +232,17 @@ def create_resources(apppath, config): r.add_js_resource( "formshare", "blueimp", "js/plugins/blueimp/jquery.blueimp-gallery.min.js", None ) + + # ------------------------------------ Tour ------------------------------------- + r.add_css_resource( + "formshare", + "tour", + "css/plugins/tour/bootstrap-tour-standalone.min.css", + "bootstrap", + ) + r.add_js_resource( + "formshare", + "tour", + "js/plugins/tour/bootstrap-tour-standalone.min.js", + "bootstrap", + ) diff --git a/formshare/jsandcss/css/plugins/tour/bootstrap-tour-standalone.min.css b/formshare/jsandcss/css/plugins/tour/bootstrap-tour-standalone.min.css new file mode 100644 index 000000000..d81614f07 --- /dev/null +++ b/formshare/jsandcss/css/plugins/tour/bootstrap-tour-standalone.min.css @@ -0,0 +1,26 @@ +/* ======================================================================== + * bootstrap-tour - v0.12.0 + * http://bootstraptour.com + * ======================================================================== + * Copyright 2012-2015 Ulrich Sossou + * + * ======================================================================== + * Licensed under the MIT License (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://opensource.org/licenses/MIT + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== + */ + +/*! + * Bootstrap v3.1.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.tour-backdrop{position:absolute;z-index:1100;background-color:#000;opacity:.8;filter:alpha(opacity=80)}.popover[class*="tour-"]{z-index:1102}.popover[class*="tour-"] .popover-navigation{padding:9px 14px;overflow:hidden}.popover[class*="tour-"] .popover-navigation *[data-role="end"]{float:right}.popover[class*="tour-"] .popover-navigation *[data-role="prev"],.popover[class*="tour-"] .popover-navigation *[data-role="next"],.popover[class*="tour-"] .popover-navigation *[data-role="end"]{cursor:pointer}.popover[class*="tour-"] .popover-navigation *[data-role="prev"].disabled,.popover[class*="tour-"] .popover-navigation *[data-role="next"].disabled,.popover[class*="tour-"] .popover-navigation *[data-role="end"].disabled{cursor:default}.popover[class*="tour-"].orphan{position:fixed;margin-top:0}.popover[class*="tour-"].orphan .arrow{display:none} \ No newline at end of file diff --git a/formshare/jsandcss/js/plugins/tour/bootstrap-tour-standalone.min.js b/formshare/jsandcss/js/plugins/tour/bootstrap-tour-standalone.min.js new file mode 100644 index 000000000..c16fa7bb0 --- /dev/null +++ b/formshare/jsandcss/js/plugins/tour/bootstrap-tour-standalone.min.js @@ -0,0 +1,22 @@ +/* ======================================================================== + * bootstrap-tour - v0.12.0 + * http://bootstraptour.com + * ======================================================================== + * Copyright 2012-2015 Ulrich Sossou + * + * ======================================================================== + * Licensed under the MIT License (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://opensource.org/licenses/MIT + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== + */ + ++function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var o in e)if(void 0!==t.style[o])return{end:e[o]};return!1}t.fn.emulateTransitionEnd=function(e){var o=!1,n=this;t(this).one("bsTransitionEnd",function(){o=!0});return setTimeout(function(){o||t(n).trigger(t.support.transition.end)},e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(t){"use strict";var e=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};e.VERSION="3.3.7",e.TRANSITION_DURATION=150,e.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},e.prototype.init=function(e,o,n){if(this.enabled=!0,this.type=e,this.$element=t(o),this.options=this.getOptions(n),this.$viewport=this.options.viewport&&t(t.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var i=this.options.trigger.split(" "),r=i.length;r--;){var s=i[r];if("click"==s)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",p="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(p+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},e.prototype.getDefaults=function(){return e.DEFAULTS},e.prototype.getOptions=function(e){return(e=t.extend({},this.getDefaults(),this.$element.data(),e)).delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},e.prototype.getDelegateOptions=function(){var e={},o=this.getDefaults();return this._options&&t.each(this._options,function(t,n){o[t]!=n&&(e[t]=n)}),e},e.prototype.enter=function(e){var o=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);if(o||(o=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,o)),e instanceof t.Event&&(o.inState["focusin"==e.type?"focus":"hover"]=!0),o.tip().hasClass("in")||"in"==o.hoverState)o.hoverState="in";else{if(clearTimeout(o.timeout),o.hoverState="in",!o.options.delay||!o.options.delay.show)return o.show();o.timeout=setTimeout(function(){"in"==o.hoverState&&o.show()},o.options.delay.show)}},e.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},e.prototype.leave=function(e){var o=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);if(o||(o=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,o)),e instanceof t.Event&&(o.inState["focusout"==e.type?"focus":"hover"]=!1),!o.isInStateTrue()){if(clearTimeout(o.timeout),o.hoverState="out",!o.options.delay||!o.options.delay.hide)return o.hide();o.timeout=setTimeout(function(){"out"==o.hoverState&&o.hide()},o.options.delay.hide)}},e.prototype.show=function(){var o=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(o);var n=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(o.isDefaultPrevented()||!n)return;var i=this,r=this.tip(),s=this.getUID(this.type);this.setContent(),r.attr("id",s),this.$element.attr("aria-describedby",s),this.options.animation&&r.addClass("fade");var a="function"==typeof this.options.placement?this.options.placement.call(this,r[0],this.$element[0]):this.options.placement,p=/\s?auto?\s?/i,h=p.test(a);h&&(a=a.replace(p,"")||"top"),r.detach().css({top:0,left:0,display:"block"}).addClass(a).data("bs."+this.type,this),this.options.container?r.appendTo(this.options.container):r.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),u=r[0].offsetWidth,c=r[0].offsetHeight;if(h){var f=a,d=this.getPosition(this.$viewport);a="bottom"==a&&l.bottom+c>d.bottom?"top":"top"==a&&l.top-cd.width?"left":"left"==a&&l.left-us.top+s.height&&(i.top=s.top+s.height-p)}else{var h=e.left-r,l=e.left+r+o;hs.right&&(i.left=s.left+s.width-l)}return i},e.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},e.prototype.getUID=function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},e.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},e.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},e.prototype.enable=function(){this.enabled=!0},e.prototype.disable=function(){this.enabled=!1},e.prototype.toggleEnabled=function(){this.enabled=!this.enabled},e.prototype.toggle=function(e){var o=this;e&&((o=t(e.currentTarget).data("bs."+this.type))||(o=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,o))),e?(o.inState.click=!o.inState.click,o.isInStateTrue()?o.enter(o):o.leave(o)):o.tip().hasClass("in")?o.leave(o):o.enter(o)},e.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})};var o=t.fn.tooltip;t.fn.tooltip=function(o){return this.each(function(){var n=t(this),i=n.data("bs.tooltip"),r="object"==typeof o&&o;!i&&/destroy|hide/.test(o)||(i||n.data("bs.tooltip",i=new e(this,r)),"string"==typeof o&&i[o]())})},t.fn.tooltip.Constructor=e,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=o,this}}(jQuery),function(t){"use strict";var e=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");e.VERSION="3.3.7",e.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),e.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),e.prototype.constructor=e,e.prototype.getDefaults=function(){return e.DEFAULTS},e.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),o=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof o?"html":"append":"text"](o),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},e.prototype.hasContent=function(){return this.getTitle()||this.getContent()},e.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},e.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var o=t.fn.popover;t.fn.popover=function(o){return this.each(function(){var n=t(this),i=n.data("bs.popover"),r="object"==typeof o&&o;!i&&/destroy|hide/.test(o)||(i||n.data("bs.popover",i=new e(this,r)),"string"==typeof o&&i[o]())})},t.fn.popover.Constructor=e,t.fn.popover.noConflict=function(){return t.fn.popover=o,this}}(jQuery);var bind=function(t,e){return function(){return t.apply(e,arguments)}};!function(t,e){"function"==typeof define&&define.amd?define(["jquery"],function(o){return t.Tour=e(o)}):"object"==typeof exports?module.exports=e(require("jquery")):t.Tour=e(t.jQuery)}(window,function(t){var e;return e=window.document,function(){function o(e){this._showPopoverAndOverlay=bind(this._showPopoverAndOverlay,this);var o;try{o=window.localStorage}catch(t){o=!1}this._options=t.extend({name:"tour",steps:[],container:"body",autoscroll:!0,keyboard:!0,storage:o,debug:!1,backdrop:!1,backdropContainer:"body",backdropPadding:0,redirect:!0,orphan:!1,duration:!1,delay:!1,basePath:"",template:'',afterSetState:function(t,e){},afterGetState:function(t,e){},afterRemoveState:function(t){},onStart:function(t){},onEnd:function(t){},onShow:function(t){},onShown:function(t){},onHide:function(t){},onHidden:function(t){},onNext:function(t){},onPrev:function(t){},onPause:function(t,e){},onResume:function(t,e){},onRedirectError:function(t){}},e),this._force=!1,this._inited=!1,this._current=null,this.backdrops=[]}return o.prototype.addSteps=function(t){var e,o,n;for(e=0,o=t.length;e

    ",next:e===this._options.steps.length-1?-1:e+1,prev:e-1,animation:!0,container:this._options.container,autoscroll:this._options.autoscroll,backdrop:this._options.backdrop,backdropContainer:this._options.backdropContainer,backdropPadding:this._options.backdropPadding,redirect:this._options.redirect,reflexElement:this._options.steps[e].element,backdropElement:this._options.steps[e].element,orphan:this._options.orphan,duration:this._options.duration,delay:this._options.delay,template:this._options.template,onShow:this._options.onShow,onShown:this._options.onShown,onHide:this._options.onHide,onHidden:this._options.onHidden,onNext:this._options.onNext,onPrev:this._options.onPrev,onPause:this._options.onPause,onResume:this._options.onResume,onRedirectError:this._options.onRedirectError},this._options.steps[e])},o.prototype.init=function(t){return this._force=t,this.ended()?(this._debug("Tour ended, init prevented."),this):(this.setCurrentStep(),this._initMouseNavigation(),this._initKeyboardNavigation(),this._onResize(function(t){return function(){return t.showStep(t._current)}}(this)),this._onScroll(function(t){return function(){return t._showPopoverAndOverlay(t._current)}}(this)),null!==this._current&&this.showStep(this._current),this._inited=!0,this)},o.prototype.start=function(t){var e;return null==t&&(t=!1),this._inited||this.init(t),null===this._current&&(e=this._makePromise(null!=this._options.onStart?this._options.onStart(this):void 0),this._callOnPromiseDone(e,this.showStep,0)),this},o.prototype.next=function(){var t;return t=this.hideStep(this._current,this._current+1),this._callOnPromiseDone(t,this._showNextStep)},o.prototype.prev=function(){var t;return t=this.hideStep(this._current,this._current-1),this._callOnPromiseDone(t,this._showPrevStep)},o.prototype.goTo=function(t){var e;return e=this.hideStep(this._current,t),this._callOnPromiseDone(e,this.showStep,t)},o.prototype.end=function(){var o,n;return o=function(o){return function(n){if(t(e).off("click.tour-"+o._options.name),t(e).off("keyup.tour-"+o._options.name),t(window).off("resize.tour-"+o._options.name),t(window).off("scroll.tour-"+o._options.name),o._setState("end","yes"),o._inited=!1,o._force=!1,o._clearTimer(),null!=o._options.onEnd)return o._options.onEnd(o)}}(this),n=this.hideStep(this._current),this._callOnPromiseDone(n,o)},o.prototype.ended=function(){return!this._force&&!!this._getState("end")},o.prototype.restart=function(){return this._removeState("current_step"),this._removeState("end"),this._removeState("redirect_to"),this.start()},o.prototype.pause=function(){var t;return(t=this.getStep(this._current))&&t.duration?(this._paused=!0,this._duration-=(new Date).getTime()-this._start,window.clearTimeout(this._timer),this._debug("Paused/Stopped step "+(this._current+1)+" timer ("+this._duration+" remaining)."),null!=t.onPause?t.onPause(this,this._duration):void 0):this},o.prototype.resume=function(){var t;return(t=this.getStep(this._current))&&t.duration?(this._paused=!1,this._start=(new Date).getTime(),this._duration=this._duration||t.duration,this._timer=window.setTimeout(function(t){return function(){return t._isLast()?t.next():t.end()}}(this),this._duration),this._debug("Started step "+(this._current+1)+" timer with duration "+this._duration),null!=t.onResume&&this._duration!==t.duration?t.onResume(this,this._duration):void 0):this},o.prototype.hideStep=function(e,o){var n,i,r,s;if(s=this.getStep(e))return this._clearTimer(),r=this._makePromise(null!=s.onHide?s.onHide(this,e):void 0),i=function(n){return function(i){var r,a;if((r=t(s.element)).data("bs.popover")||r.data("popover")||(r=t("body")),r.popover("destroy").removeClass("tour-"+n._options.name+"-element tour-"+n._options.name+"-"+e+"-element").removeData("bs.popover"),s.reflex&&t(s.reflexElement).removeClass("tour-step-element-reflex").off(n._reflexEvent(s.reflex)+".tour-"+n._options.name),s.backdrop&&((a=null!=o&&n.getStep(o))&&a.backdrop&&a.backdropElement===s.backdropElement||n._hideOverlayElement(s)),null!=s.onHidden)return s.onHidden(n)}}(this),n=s.delay.hide||s.delay,"[object Number]"==={}.toString.call(n)&&n>0?(this._debug("Wait "+n+" milliseconds to hide the step "+(this._current+1)),window.setTimeout(function(t){return function(){return t._callOnPromiseDone(r,i)}}(this),n)):this._callOnPromiseDone(r,i),r},o.prototype.showStep=function(t){var o,n,i,r,s,a;return this.ended()?(this._debug("Tour ended, showStep prevented."),this):(a=this.getStep(t))&&(s=t0?(this._debug("Wait "+i+" milliseconds to show the step "+(this._current+1)),window.setTimeout(function(t){return function(){return t._callOnPromiseDone(n,r)}}(this),i)):this._callOnPromiseDone(n,r),n):void 0},o.prototype.getCurrentStep=function(){return this._current},o.prototype.setCurrentStep=function(t){return null!=t?(this._current=t,this._setState("current_step",t)):(this._current=this._getState("current_step"),this._current=null===this._current?null:parseInt(this._current,10)),this},o.prototype.redraw=function(){return this._showOverlayElement(this.getStep(this.getCurrentStep()))},o.prototype._setState=function(t,e){var o;if(this._options.storage){o=this._options.name+"_"+t;try{this._options.storage.setItem(o,e)}catch(t){t.code===DOMException.QUOTA_EXCEEDED_ERR&&this._debug("LocalStorage quota exceeded. State storage failed.")}return this._options.afterSetState(o,e)}return null==this._state&&(this._state={}),this._state[t]=e},o.prototype._removeState=function(t){var e;return this._options.storage?(e=this._options.name+"_"+t,this._options.storage.removeItem(e),this._options.afterRemoveState(e)):null!=this._state?delete this._state[t]:void 0},o.prototype._getState=function(t){var e,o;return this._options.storage?(e=this._options.name+"_"+t,o=this._options.storage.getItem(e)):null!=this._state&&(o=this._state[t]),void 0!==o&&"null"!==o||(o=null),this._options.afterGetState(t,o),o},o.prototype._showNextStep=function(){var t,e,o;return o=this.getStep(this._current),e=function(t){return function(e){return t.showStep(o.next)}}(this),t=this._makePromise(null!=o.onNext?o.onNext(this):void 0),this._callOnPromiseDone(t,e)},o.prototype._showPrevStep=function(){var t,e,o;return o=this.getStep(this._current),e=function(t){return function(e){return t.showStep(o.prev)}}(this),t=this._makePromise(null!=o.onPrev?o.onPrev(this):void 0),this._callOnPromiseDone(t,e)},o.prototype._debug=function(t){if(this._options.debug)return window.console.log("Bootstrap Tour '"+this._options.name+"' | "+t)},o.prototype._isRedirect=function(t,e,o){var n;return!(null==t||""===t||!("[object RegExp]"==={}.toString.call(t)&&!t.test(o.origin)||"[object String]"==={}.toString.call(t)&&this._isHostDifferent(t,o)))||(n=[o.pathname,o.search,o.hash].join(""),null!=e&&""!==e&&("[object RegExp]"==={}.toString.call(e)&&!e.test(n)||"[object String]"==={}.toString.call(e)&&this._isPathDifferent(e,n)))},o.prototype._isHostDifferent=function(t,e){switch({}.toString.call(t)){case"[object RegExp]":return!t.test(e.origin);case"[object String]":return this._getProtocol(t)!==this._getProtocol(e.href)||this._getHost(t)!==this._getHost(e.href);default:return!0}},o.prototype._isPathDifferent=function(t,e){return this._getPath(t)!==this._getPath(e)||!this._equal(this._getQuery(t),this._getQuery(e))||!this._equal(this._getHash(t),this._getHash(e))},o.prototype._isJustPathHashDifferent=function(t,e,o){var n;return(null==t||""===t||!this._isHostDifferent(t,o))&&(n=[o.pathname,o.search,o.hash].join(""),"[object String]"==={}.toString.call(e)&&(this._getPath(e)===this._getPath(n)&&this._equal(this._getQuery(e),this._getQuery(n))&&!this._equal(this._getHash(e),this._getHash(n))))},o.prototype._redirect=function(o,n,i){var r;return t.isFunction(o.redirect)?o.redirect.call(this,i):(r="[object String]"==={}.toString.call(o.host)?""+o.host+i:i,this._debug("Redirect to "+r),this._getState("redirect_to")!==""+n?(this._setState("redirect_to",""+n),e.location.href=r):(this._debug("Error redirection loop to "+i),this._removeState("redirect_to"),null!=o.onRedirectError?o.onRedirectError(this):void 0))},o.prototype._isOrphan=function(e){return null==e.element||!t(e.element).length||t(e.element).is(":hidden")&&"http://www.w3.org/2000/svg"!==t(e.element)[0].namespaceURI},o.prototype._isLast=function(){return this._current").parent().html()},o.prototype._reflexEvent=function(t){return"[object Boolean]"==={}.toString.call(t)?"click":t},o.prototype._reposition=function(o,n){var i,r,s,a,p,h,l;if(a=o[0].offsetWidth,r=o[0].offsetHeight,l=o.offset(),p=l.left,h=l.top,(i=t(e).outerHeight()-l.top-o.outerHeight())<0&&(l.top=l.top+i),(s=t("html").outerWidth()-l.left-o.outerWidth())<0&&(l.left=l.left+s),l.top<0&&(l.top=0),l.left<0&&(l.left=0),o.offset(l),"bottom"===n.placement||"top"===n.placement){if(p!==l.left)return this._replaceArrow(o,2*(l.left-p),a,"left")}else if(h!==l.top)return this._replaceArrow(o,2*(l.top-h),r,"top")},o.prototype._center=function(e){return e.css("top",t(window).outerHeight()/2-e.outerHeight()/2)},o.prototype._replaceArrow=function(t,e,o,n){return t.find(".arrow").css(n,e?50*(1-e/o)+"%":"")},o.prototype._scrollIntoView=function(e){var o,n,i,r,s,a,p,h;if(p=this.getStep(e),!(o=t(p.element)).length)return this._showPopoverAndOverlay(e);switch(n=t(window),s=o.offset().top,r=o.outerHeight(),h=n.height(),a=0,p.placement){case"top":a=Math.max(0,s-h/2);break;case"left":case"right":a=Math.max(0,s+r/2-h/2);break;case"bottom":a=Math.max(0,s+r-h/2)}return this._debug("Scroll into view. ScrollTop: "+a+". Element offset: "+s+". Window height: "+h+"."),i=0,t("body, html").stop(!0,!0).animate({scrollTop:Math.ceil(a)},function(t){return function(){if(2==++i)return t._showPopoverAndOverlay(e),t._debug("Scroll into view.\nAnimation end element offset: "+o.offset().top+".\nWindow height: "+n.height()+".")}}(this))},o.prototype._onResize=function(e,o){return t(window).on("resize.tour-"+this._options.name,function(){return clearTimeout(o),o=setTimeout(e,100)})},o.prototype._onScroll=function(e,o){return t(window).on("scroll.tour-"+this._options.name,function(){return clearTimeout(o),o=setTimeout(e,100)})},o.prototype._initMouseNavigation=function(){var o;return o=this,t(e).off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='prev']").off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='next']").off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='end']").off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='pause-resume']").on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='next']",function(t){return function(e){return e.preventDefault(),t.next()}}(this)).on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='prev']",function(t){return function(e){if(e.preventDefault(),t._current>0)return t.prev()}}(this)).on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='end']",function(t){return function(e){return e.preventDefault(),t.end()}}(this)).on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='pause-resume']",function(e){var n;return e.preventDefault(),(n=t(this)).text(o._paused?n.data("pause-text"):n.data("resume-text")),o._paused?o.resume():o.pause()})},o.prototype._initKeyboardNavigation=function(){if(this._options.keyboard)return t(e).on("keyup.tour-"+this._options.name,function(t){return function(e){if(e.which)switch(e.which){case 39:return e.preventDefault(),t._isLast()?t.next():t.end();case 37:if(e.preventDefault(),t._current>0)return t.prev()}}}(this))},o.prototype._makePromise=function(e){return e&&t.isFunction(e.then)?e:null},o.prototype._callOnPromiseDone=function(t,e,o){return t?t.then(function(t){return function(n){return e.call(t,o)}}(this)):e.call(this,o)},o.prototype._showBackground=function(o,n){var i,r,s,a,p,h,l,u,c;for(s=t(e).height(),c=t(e).width(),u=[],a=0,p=(l=["top","bottom","left","right"]).length;a",{class:"tour-backdrop "+h}),t(o.backdropContainer).append(i),h){case"top":u.push(i.height(n.offset.top>0?n.offset.top:0).width(c).offset({top:0,left:0}));break;case"bottom":u.push(i.offset({top:n.offset.top+n.height,left:0}).height(s-(n.offset.top+n.height)).width(c));break;case"left":u.push(i.offset({top:n.offset.top,left:0}).height(n.height).width(n.offset.left>0?n.offset.left:0));break;case"right":u.push(i.offset({top:n.offset.top,left:n.offset.left+n.width}).height(n.height).width(c-(n.offset.left+n.width)));break;default:u.push(void 0)}return u},o.prototype._showOverlayElement=function(e){var o,n;return 0===(o=t(e.backdropElement)).length?n={width:0,height:0,offset:{top:0,left:0}}:(n={width:o.innerWidth(),height:o.innerHeight(),offset:o.offset()},o.addClass("tour-step-backdrop"),e.backdropPadding&&(n=this._applyBackdropPadding(e.backdropPadding,n))),this._showBackground(e,n)},o.prototype._hideOverlayElement=function(e){var o,n,i;t(e.backdropElement).removeClass("tour-step-backdrop"),i=this.backdrops;for(n in i)(o=i[n])&&void 0!==o.remove&&o.remove();return this.backdrops=[]},o.prototype._applyBackdropPadding=function(t,e){return"object"==typeof t?(null==t.top&&(t.top=0),null==t.right&&(t.right=0),null==t.bottom&&(t.bottom=0),null==t.left&&(t.left=0),e.offset.top=e.offset.top-t.top,e.offset.left=e.offset.left-t.left,e.width=e.width+t.left+t.right,e.height=e.height+t.top+t.bottom):(e.offset.top=e.offset.top-t,e.offset.left=e.offset.left-t,e.width=e.width+2*t,e.height=e.height+2*t),e},o.prototype._clearTimer=function(){return window.clearTimeout(this._timer),this._timer=null,this._duration=null},o.prototype._getProtocol=function(t){return(t=t.split("://")).length>1?t[0]:"http"},o.prototype._getHost=function(t){return t=t.split("//"),(t=t.length>1?t[1]:t[0]).split("/")[0]},o.prototype._getPath=function(t){return t.replace(/\/?$/,"").split("?")[0].split("#")[0]},o.prototype._getQuery=function(t){return this._getParams(t,"?")},o.prototype._getHash=function(t){return this._getParams(t,"#")},o.prototype._getParams=function(t,e){var o,n,i,r,s;if(1===(r=t.split(e)).length)return{};for(s={},o=0,n=(r=r[1].split("&")).length;o 0: - return 0, ",".join(files_array) - else: - return 0, "" + required_files.append(a_file.get("fileName")) + + extra_columns = root.findall(".//extraColumn") + for a_column in extra_columns: + if a_column.get("columType") == "survey": + extra_columns_in_survey.append(a_column.get("columnName")) + if a_column.get("columType") == "choices": + extra_columns_in_choices.append(a_column.get("columnName")) + if a_column.get("columType") == "invalid": + extra_columns_invalid.append(a_column.get("columnName")) + # Remove internal columns. These will be added regardless + if "formshare_sensitive" in extra_columns_in_survey: + extra_columns_in_survey.remove("formshare_sensitive") + if "formshare_encrypted" in extra_columns_in_survey: + extra_columns_in_survey.remove("formshare_encrypted") + if "formshare_ontological_term" in extra_columns_in_survey: + extra_columns_in_survey.remove("formshare_ontological_term") + if "formshare_ontological_term" in extra_columns_in_choices: + extra_columns_in_choices.remove("formshare_ontological_term") + for a_plugin in plugins.PluginImplementations(plugins.IFormColumns): + a_plugin.filter_form_survey_columns( + request, user_id, project_id, form_id, extra_columns_in_survey + ) + a_plugin.filter_form_choices_columns( + request, user_id, project_id, form_id, extra_columns_in_choices + ) + + return 0, "" else: root = etree.fromstring(stdout) - language_array = [] languages = root.findall(".//language") if languages: for a_language in languages: @@ -436,14 +475,14 @@ def check_jxform_file( if lng_code != "": if len(lng_code) > 2: lng_code = "" - language_array.append( + form_languages.append( { "code": lng_code, "name": a_language.get("name") or a_language.get("description"), } ) - return 0, language_array + return 0, "" except Exception as e: log.info( @@ -991,15 +1030,28 @@ def upload_odk_form( form_title = root.findall(".//{" + h_nsmap + "}title") if not form_exists(request, project_id, form_id): external_files = [] + required_files = [] + extra_columns_in_survey = [] + extra_columns_in_choices = [] + extra_columns_invalid = [] if itemsets_csv is not None: external_files.append(itemsets_csv) error, message = check_jxform_file( request, + user_id, + project_id, + form_id, survey_file, create_file, insert_file, primary_key, external_files, + False, + required_files, + None, + extra_columns_in_survey, + extra_columns_in_choices, + extra_columns_invalid, ) form_caseselector_file = None if project_case == 1: @@ -1218,8 +1270,20 @@ def upload_odk_form( if geo_variables: form_geo_points = ",".join(geo_variables) form_data["form_geopoint"] = form_geo_points - if message != "": - form_data["form_reqfiles"] = message + if len(required_files) > 0: + form_data["form_reqfiles"] = ",".join(required_files) + if len(extra_columns_in_survey) > 0: + form_data["form_surveycolumns"] = ",".join( + extra_columns_in_survey + ) + if len(extra_columns_in_choices) > 0: + form_data["form_choicescolumns"] = ",".join( + extra_columns_in_choices + ) + if len(extra_columns_invalid) > 0: + form_data["form_invalidcolumns"] = ",".join( + extra_columns_invalid + ) if project_case == 1: form_data["form_case"] = 1 @@ -1446,15 +1510,28 @@ def update_odk_form( form_title = root.findall(".//{" + h_nsmap + "}title") if form_exists(request, project_id, form_id): external_files = [] + required_files = [] + extra_columns_in_survey = [] + extra_columns_in_choices = [] + extra_columns_invalid = [] if itemsets_csv is not None: external_files.append(itemsets_csv) error, message = check_jxform_file( request, + user_id, + project_id, + form_id, survey_file, create_file, insert_file, primary_key, external_files, + False, + required_files, + None, + extra_columns_in_survey, + extra_columns_in_choices, + extra_columns_invalid, ) form_caseselector_file = None diff --git a/formshare/templates/dashboard/projects/forms/form_details.jinja2 b/formshare/templates/dashboard/projects/forms/form_details.jinja2 index f3353402a..8aee17f0b 100644 --- a/formshare/templates/dashboard/projects/forms/form_details.jinja2 +++ b/formshare/templates/dashboard/projects/forms/form_details.jinja2 @@ -28,6 +28,11 @@ {% cssresource request,'formshare','blueimp' %} {% endif %} {% cssresource request,'formshare','codemirror-ambiance' %} + {% if formDetails.form_schema == None %} + {% if formDetails.form_surveycolumns != None or formDetails.form_choicescolumns != None or formDetails.form_invalidcolumns != None %} + {% cssresource request,'formshare','tour' %} + {% endif %} + {% endif %}