From b20fa1df9a89994883edec9916f97b39fbe6568e Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 3 Jun 2022 20:01:38 +1000 Subject: [PATCH 1/2] L10 crowdin (#3124) * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- InvenTree/locale/cs/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/de/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/el/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/en/LC_MESSAGES/django.po | 1450 +++++------ InvenTree/locale/es/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 1450 +++++------ InvenTree/locale/fa/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/fr/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/he/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/hu/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/id/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/it/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/ja/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/ko/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/nl/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/no/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/pl/LC_MESSAGES/django.po | 2284 +++++++++--------- InvenTree/locale/pt/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 1450 +++++------ InvenTree/locale/ru/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/sv/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/th/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/tr/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/vi/LC_MESSAGES/django.po | 2246 ++++++++--------- InvenTree/locale/zh/LC_MESSAGES/django.po | 2246 ++++++++--------- 25 files changed, 27213 insertions(+), 26587 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index f1cc7a1da1..c945ea7424 100644 --- a/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:43\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "Potvrdit" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "Potvrdit odstranění" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "Potvrdit odstranění položky" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "Zadejte heslo" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "Zadejte nové heslo" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Potvrďte heslo" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Potvrďte nové heslo" @@ -70,72 +70,73 @@ msgstr "Email (znovu)" msgid "Email address confirmation" msgstr "Potvrzení emailové adresy" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "Pokaždé musíte zadat stejný email." -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Duplicitní výrobní číslo: {sn}" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "Nevyplněné výrobní číslo" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "Neplatná skupina: {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Neplatná/nevyplněná skupina {group}" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "Nenalezena žádná výrobní čísla" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "Chybějící soubor" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "Příloha" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "Vyberte soubor k přiložení" msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "Odkaz na externí URL" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "Komentář" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "Uživatel" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "datum přidání" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "Název souboru nesmí být prázdný" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "Neplatný adresář přílohy" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Název souboru obsahuje nepovolený znak '{c}'" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "Chybějící přípona souboru" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "Příloha s tímto názvem již existuje" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "Chyba při přejmenování souboru" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "Neplatný výběr" msgid "Name" msgstr "Název" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "Název" msgid "Description" msgstr "Popis" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "Popis (volitelně)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "nadřazený" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "Název souboru" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "Datový soubor" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "Vyberte datový soubor k nahrání" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "Nepodporovaný typ souboru" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "Soubor je příliš velký" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "V souboru nebyly nalezeny žádné sloupce" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "V souboru nebyly nalezeny žádné řádky s daty" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "Nebyly zadány žádné řádky s daty" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "Nebyly zadány žádné sloupce s daty" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Chybí povinný sloupec: '{name}'" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicitní sloupec: '{col}'" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "Čeština" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "Němčina" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "Řečtina" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "Angličtina" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "Španělština" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "Španělština (Mexiko)" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "Farsi / Perština" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "Francouzština" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "Hebrejština" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "Maďarština" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "Italština" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "Japonština" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "Korejština" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "Nizozemština" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "Norština" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "Polština" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "Ruština" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "Švédština" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "Thajština" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "Turečtina" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "Vietnamština" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "Čínština" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "Email backend není nakonfigurován" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "Kontroly zdraví systému InvenTree selhaly" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "Nevyřízeno" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "Umístěno" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "Hotovo" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "Zrušeno" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "Ztraceno" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "Vráceno" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Odesláno" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "Vyžaduje pozornost" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "Poškozeno" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "Zničeno" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "Odmítnuto" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "" msgid "Production" msgstr "" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "Zaškrtněte políčko pro potvrzení odstranění položky" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Upravit informace o uživateli" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Nastavit heslo" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "Hesla se musí shodovat" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "Informace o systému" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "" @@ -2625,9 +2643,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2635,16 +2653,16 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Činnost nebyla specifikována" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "Nebyla nalezena odpovídající činnost" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "" @@ -5494,31 +5515,31 @@ msgstr "Pro data čárového kódu nebyla nalezena shoda" msgid "Match found for barcode data" msgstr "Pro data čárového kódu byla nalezena shoda" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 8925689b79..6a43d11604 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:43\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "Fehlerdetails finden Sie im Admin-Panel" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "Bestätigen" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "Löschung bestätigen" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "Löschung von Position bestätigen" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "Passwort eingeben" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "Neues Passwort eingeben" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Passwort wiederholen" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Neues Passwort bestätigen" @@ -70,72 +70,73 @@ msgstr "E-Mail (nochmal)" msgid "Email address confirmation" msgstr "Bestätigung der E-Mail Adresse" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "E-Mail Adressen müssen übereinstimmen." -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Doppelte Seriennummer: {sn}" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "Keine Seriennummer angegeben" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Ungültiger Gruppenbereich: {g}" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "Ungültige Gruppe: {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Ungültige Gruppensequenz: {g}" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Ungültige/Keine Gruppe {group}" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "Keine Seriennummern gefunden" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) übereinstimmen" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "Fehlende Datei" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "Anhang" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "Datei zum Anhängen auswählen" msgid "Link" msgstr "Link" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "Benutzer" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "Hochladedatum" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "Dateiname darf nicht leer sein" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "Ungültiges Verzeichnis für Anhang" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Dateiname enthält ungültiges Zeichen '{c}'" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "Dateiendung fehlt" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "Anhang mit diesem Dateinamen bereits vorhanden" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "Fehler beim Umbenennen" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "Ungültige Auswahl" msgid "Name" msgstr "Name" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "Name" msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "Eltern" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "Dateiname" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "Datendatei" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "Neue Datei zum Hochladen auswählen" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "Nicht unterstütztes Dateiformat" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "Datei ist zu groß" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "Keine Spalten in der Datei gefunden" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "Keine Datensätze in der Datei gefunden" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "Keine Zeilen ausgewählt" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "Keine Spalten angegeben" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Erforderliche Spalte '{name}' fehlt" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Doppelte Spalte: '{col}'" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "Tschechisch" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "Deutsch" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "Griechisch" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "Englisch" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "Spanisch" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "Spanisch (Mexikanisch)" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "Persisch" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "Französisch" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "Hebräisch" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "Ungarisch" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "Italienisch" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "Japanisch" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "Koreanisch" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "Niederländisch" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "Norwegisch" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "Polnisch" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "Portugiesisch" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "Portugiesisch (Brasilien)" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "Schwedisch" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "Thailändisch" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "Türkisch" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "Vietnamesisch" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "Chinesisch" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "E-Mail-Backend nicht konfiguriert" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "InvenTree Status-Überprüfung fehlgeschlagen" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "Ausstehend" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "Platziert" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "Fertig" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "Storniert" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "Verloren" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "Zurückgegeben" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Versendet" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "erfordert Eingriff" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "Beschädigt" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "Zerstört" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "Zurückgewiesen" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "Gegen Bestellung empfangen" msgid "Production" msgstr "in Arbeit" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Kein gültiger Währungscode" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "Ungültiger Buchstabe im Teilenamen" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN muss zu Regex-Muster {pat} passen" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "Referenz muss zu Regex-Muster {pattern} passen" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "Ungültiges Zeichen im Namen ({x})" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "Überschuss-Wert darf nicht negativ sein" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "Überschuss darf 100% nicht überschreiten" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Ungültiger Wert für Ausschuss" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "Element löschen" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "Häkchen setzen um Löschung von Objekt zu bestätigen" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Benutzerinformationen bearbeiten" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Passwort eingeben" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "Passwörter stimmen nicht überein" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "Systeminformationen" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "Bauaufträge" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "Referenz" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "Kurze Beschreibung des Baus" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" msgid "Part" msgstr "Teil" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Entnahme-Lagerort für diesen Bauauftrag wählen (oder leer lassen für einen beliebigen Lagerort)" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden Lagerartikel" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen Lagerartikel" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "Nutzer der für diesen Bauauftrag zuständig ist" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "Externer Link" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "Notizen" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "Extranotizen für den Bauauftrag" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete Teil verfolgbar ist" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "Ausgewähltes Bestands-Objekt nicht in Stückliste für Teil '{p}' gefunden" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "Bauauftrag" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "Bauauftrag starten um Teile zuzuweisen" msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "Quell-Lagerartikel" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "Quell-Lagerartikel" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "Quell-Lagerartikel" msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "Endprodukt" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "Dieses Endprodukt wurde bereits fertiggestellt" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Seriennummer" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "Seriennummern automatisch zuweisen" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "Folgende Seriennummern existieren bereits" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "Eine Liste von Endprodukten muss angegeben werden" msgid "Location" msgstr "Lagerort" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "Lagerort für fertige Endprodukte" msgid "Status" msgstr "Status" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "Unvollständige Zuweisung akzeptieren" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "Zugewiesenen Bestand entfernen" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "Abzug aller Lagerbestände, die diesem Build bereits zugewiesen wurden" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "Unfertige Endprodukte entfernen" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "Nicht zugewiesene akzeptieren" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zugewiesen wurden" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "Akzeptieren, dass die erforderliche Anzahl der Bauaufträge nicht abgeschlossen ist" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "Es wurden keine Endprodukte für diesen Bauauftrag erstellt" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "Stücklisten-Position" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "Endprodukt" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "Für Zuweisung von verfolgten Teilen muss ein Endprodukt angegeben sein" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben werden" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagerort, von dem Teile bezogen werden sollen (leer lassen, um sie von jedem Lagerort zu nehmen)" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "Lagerort ausschließen" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "Lagerartikel vom ausgewählten Ort ausschließen" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "Wechselbares Lagerbestand" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "Ersatzbestand" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "Bestand für Bauauftrag erforderlich" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "Fertig" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "Ausgangs-Lager" msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Ziel-Lager" @@ -1508,929 +1510,945 @@ msgstr "Bauauftragdetails" msgid "Completed Outputs" msgstr "Fertiggestellte Endprodukte" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "Bauauftrag löschen" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "Dateiformat nicht unterstützt: {ext.upper()}" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "Fehler beim Lesen der Datei (ungültige Kodierung)" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "Fehler beim Lesen der Datei (ungültiges Format)" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "Fehler beim Lesen der Datei (falsche Größe)" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "Fehler beim Lesen der Datei (Daten könnten beschädigt sein)" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "Datei" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "Datei zum Hochladen auswählen" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "{name.title()} Datei" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "{name} Datei zum Hochladen auswählen" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "Wert ist keine gültige Option" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "Wahrheitswert erforderlich" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "Keine Gruppe" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "Neustart erforderlich" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erfordert" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "Name der Serverinstanz" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "Anzeige von `Über` einschränken" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "Firmenname" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "interner Firmenname" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "Standardwährung" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "Standardwährung" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "Barcode-Scanner Unterstützung" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "Barcode Webcam-Unterstützung" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode-Scannen über Webcam im Browser erlauben" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Vorlage" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Baugruppe" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Komponente" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Nachverfolgbar" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "Preis in Formularen anzeigen" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "Teilpreis in einigen Formularen anzeigen" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "Preis in Stückliste anzeigen" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "Preisinformationen in Stücklisten Tabellen einbeziehen" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "Preisverlauf anzeigen" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "Historische Preise für Teil anzeigen" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "Ausgangsbestand erstellen" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "Ausgangsbestand beim Erstellen von Teilen erstellen" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "Interner Preis als Stückliste-Preis" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Interner Preis (falls vorhanden) in Stücklisten-Preisberechnungen verwenden" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "Test-Berichte" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "Tage" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "Bauauftrag-Referenz Präfix" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "Präfix für Bauauftrag-Referenz" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "Bauauftrag-Referenz RegEx" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "Auftrags-Referenz Präfix" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "Präfix für Auftrags-Referenz" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "Bestellungs-Referenz Präfix" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "Präfix für Bestellungs-Referenz" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "Anmeldung erlauben" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "Aktuelle Teile-Stände" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "aktueller Bestand" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "Anzahl des geänderten Bestands auf der Startseite" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF-Labels im Browser anzeigen, anstatt als Datei herunterzuladen" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF-Berichte im Browser anzeigen, anstatt als Datei herunterzuladen" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nicht verfügbare Lagerartikel aus der Suchvorschau ausschließen" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "Anzahl der Ergebnisse, die in der Vorschau pro Sektion angezeigt werden sollen" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Preis" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "Name für diesen Webhook" msgid "Active" msgstr "Aktiv" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "Token" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "Host" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "Body" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Datei hochgeladen" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Übereinstimmende Felder" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "Positionen zuordnen" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "Felder zuteilen fehlgeschlagen" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "Teile importiert" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Vorheriger Schritt" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "Bild-URL" @@ -2597,7 +2615,7 @@ msgstr "Anlaufstelle" msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "Bild" @@ -2625,9 +2643,9 @@ msgstr "ist Hersteller" msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "Währung" @@ -2635,16 +2653,16 @@ msgstr "Währung" msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "Teil auswählen" msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "Hersteller auswählen" msgid "MPN" msgstr "MPN" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "Parametername" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "Wert" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "Einheiten" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "Parametereinheit" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "Notiz" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "Verpackungen" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "Vielfache" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "Mehrere bestellen" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "Letzte Aktualisierung" @@ -2847,9 +2865,9 @@ msgstr "Neues Bild hochladen" msgid "Download image from URL" msgstr "Bild von URL herunterladen" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "Bild hochladen" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "Zuliefererteile" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "Teile löschen" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "Herstellerteile" @@ -2927,8 +2946,8 @@ msgstr "Zulieferer-Bestand" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "Bestellungen" @@ -2950,8 +2969,8 @@ msgstr "Neue Bestellung" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "Aufträge" @@ -2978,7 +2997,7 @@ msgstr "Firmenbemerkungen" msgid "Supplier List" msgstr "Zulieferer-Liste" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "Keine Herstellerdaten verfügbar" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "Zuliefererteil entfernen" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "Löschen" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "Zugewiesene Lagerartikel" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "Bepreisung" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "Lagerartikel" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "Neuer Zulieferer" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "Neuer Hersteller" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "Kunden" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "Neuer Kunde" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "Firmen" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "Neue Firma" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "Bild herunterladen" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "Bildgröße überschreitet maximal-erlaubte Größe für Downloads" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "Ungültige Antwort {code}" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "Label Name" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "Label Beschreibung" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "Label" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "Label-Vorlage-Datei" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "Aktiviert" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "Label-Vorlage ist aktiviert" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "Breite [mm]" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "Label-Breite in mm" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "Höhe [mm]" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "Dateinamen-Muster" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "Muster für die Erstellung von Label-Dateinamen" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "Filter" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "Bestellungs-Beschreibung" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "Bestell-Notizen" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "Empfangen von" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "Ziel-Versanddatum" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" @@ -3369,94 +3388,94 @@ msgstr "Datum an dem der Auftrag fertigstellt wurde" msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Zieldatum für Auftrags-Fertigstellung." -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "Versand von" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "Auftrag kann nicht abgeschlossen werden, da keine Teile zugewiesen wurden" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "Nur ein ausstehender Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Auftrag kann nicht abgeschlossen werden, da unvollständige Sendungen vorhanden sind" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "Auftrag kann nicht abgeschlossen werden, da es unvollständige Positionen gibt" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "Lieferdatum für diese Position" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "Kontext" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "Bestellung" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "Bestellung" msgid "Purchase Order" msgstr "Bestellung" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "Empfangen" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "Wo möchte der Käufer diesen Artikel gelagert haben?" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "Versandhinweise" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kann Lagerartikel keiner Zeile mit einem anderen Teil hinzufügen" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "Zu viele Lagerartikel zugewiesen" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "Position" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "Position" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "Währung" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "Position" @@ -3650,7 +3669,7 @@ msgstr "Position" msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" @@ -3670,59 +3689,59 @@ msgstr "Barcode-Hash" msgid "Unique identifier field" msgstr "Einzigartiger Identifikator" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "Ausstehende Sendungen" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "Aktionen" @@ -3978,201 +3998,202 @@ msgstr "Aktionen" msgid "New Shipment" msgstr "Neue Sendung" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "Zuliefererteile zuordnen" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "Auftrag nicht gefunden" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "Preis nicht gefunden" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "Stückpreis für {part} auf {price} aktualisiert" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "Gültig" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "Muss größer als 0 sein" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "Muss eine gültige Nummer sein" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "Standort für anfänglichen Bestand angeben" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "Dieses Feld ist erforderlich" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Standard-Lagerort" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "Gesamtbestand" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "Verfügbarer Bestand" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "Bestellt" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "Teil-Kategorie wählen" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "Parameter-Vorlage zu Kategorien dieser Ebene hinzufügen" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "Parameter-Vorlage zu allen Kategorien hinzufügen" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "Standard Stichwörter" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Teile" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Teil '{p1}' wird in Stückliste für Teil '{p2}' benutzt (rekursiv)" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "Nächste verfügbare Seriennummern wären" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "Nächste verfügbare Seriennummer ist" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "Die neuste Seriennummer ist" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "Variante von" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "Beschreibung des Teils" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "Schlüsselwörter" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" msgid "Category" msgstr "Kategorie" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "Version" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "Minimaler Bestand" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "Stock Keeping Units (SKU) für dieses Teil" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "Bemerkungen - unterstüzt Markdown-Formatierung" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "Ein Test mit diesem Namen besteht bereits für dieses Teil" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Benötigt" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "Muss für diesen Test ein Wert für das Test-Ergebnis eingetragen werden?" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "Ungültiges Zeichen im Vorlagename ({c})" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "Einheit des Parameters" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "Wert" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "Teil-ID" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "Name des Teils" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "Teil-ID" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "Stufe" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "Optional" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "Geerbt" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Bestand von Varianten kann für diese Stücklisten-Position verwendet werden" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "Fehler bei Verwandschaft: Ist das Teil mit sich selbst verwandt oder ist das die Verwandtschaft nicht eindeutig?" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "Bauteil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "Keine Bauteilspalte angegeben" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "Benachrichtigungen über geringen Bestand" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen" @@ -5091,7 +5112,7 @@ msgstr "Teildetails anzeigen" msgid "This part is a variant of %(link)s" msgstr "Dieses Teil ist eine Variante von %(link)s" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "Auf Lager" @@ -5386,20 +5407,20 @@ msgstr "Neue Teilevariante anlegen" msgid "Create a new variant of template '%(full_name)s'." msgstr "Neue Variante von Vorlage anlegen '%(full_name)s'." -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "Unbekannte Datenbank" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "{title} v{version}" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "Teil-Kategorie auswählen" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "Kategorie für {n} Teile setzen" @@ -5412,79 +5433,79 @@ msgstr "Referenzen zuteilen" msgid "None" msgstr "Kein(e)" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "Teil-QR-Code" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "Teilbild auswählen" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "Teilbild aktualisiert" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "Teilbild nicht gefunden" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "Löschen des Teils bestätigen" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "Teil wurde gelöscht" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "Teilbepreisung" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "Teilparametervorlage anlegen" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "Teilparametervorlage bearbeiten" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "Teil-Kategorie löschen" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "Teil-Kategorie wurde gelöscht" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "Kategorieparametervorlage anlegen" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "Kategorieparametervorlage bearbeiten" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "Kategorieparametervorlage löschen" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "Ihre Umgebung verwendet eine veraltete Git-Version. Dies hindert InvenTree daran, Plugin-Details zu laden." -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Keine Aktion angegeben" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "Keine passende Aktion gefunden" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "barcode_data Parameter angeben" @@ -5496,31 +5517,31 @@ msgstr "Keine Treffer für Barcode" msgid "Match found for barcode data" msgstr "Treffer für Barcode gefunden" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "Lagerartikel-Parameter muss angegeben werden" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "Keine passende Lagerartikel gefunden" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "Barcode entspricht bereits einem Lagerartikel" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "Barcode entspricht bereits Lagerort" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "Barcode entspricht bereits Teil" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "Barcode-Hash entspricht bereits einem Lagerartikel" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "Barcode Lagerartikel zugeordnet" @@ -5528,226 +5549,226 @@ msgstr "Barcode Lagerartikel zugeordnet" msgid "Label printing failed" msgstr "Labeldruck fehlgeschlagen" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "InvenTree Mitwirkende" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "Integrierte ausgehende Benachrichtigungsmethoden" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "E-Mail-Benachrichtigungen aktivieren" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "Das Senden von Benachrichtigungen als E-Mails erlauben" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "Plugin Metadaten" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "JSON-Metadatenfeld, für die Verwendung durch externe Plugins" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "Plugin-Konfiguration" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "Plugin-Konfigurationen" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "Schlüssel" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "Schlüssel des Plugins" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "Name des Plugins" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "Ist das Plugin aktiv" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "Methode" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "Kein Autor gefunden" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "Kein Datum gefunden" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "Bestellungen aktivieren" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "Kauf-Funktionalität in InvenTree aktivieren" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "API-Schlüssel" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "Schlüssel für den Zugriff auf das externe API" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "Numerisch" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "Eine numerische Einstellung" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "Auswahleinstellungen" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "Eine Einstellung mit mehreren Optionen" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "Quell-URL" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "Quelle für das Paket - dies kann eine eigene Registry oder ein VCS-Pfad sein" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "Paket-Name" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "Name für das Plugin-Paket - kann auch einen Versionstext enthalten" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "Plugin-Installation bestätigen" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "Dies wird dieses Plugin sofort in die aktuelle Instanz installieren. Die Instanz wird sofort in Wartung gehen." -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "Installation nicht bestätigt" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "Entweder Paketname oder URL muss angegeben werden" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "Keine korrekten Objekte für Vorlage gegeben" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Vorlagendatei '{template}' fehlt oder existiert nicht" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "Vorlagen Name" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "Bericht-Vorlage Datei" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "Bericht-Vorlage Beschreibung" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "Bericht Revisionsnummer (autom. erhöht)" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "Muster für die Erstellung von Berichtsdateinamen" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "Bericht-Vorlage ist ein" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Lagerartikel-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "einfügen Installiert in Tests" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "Test-Ergebnisse für Lagerartikel in Baugruppen einschließen" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "Bauauftrag Filter" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Bau-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "Teil Filter" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "Bestellungs-Abfragefilter" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "Auftrags-Abfragefilter" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "Snippet" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "Ressource" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "Ressource-Beschreibung" @@ -5764,7 +5785,7 @@ msgid "Stock Item Test Report" msgstr "Lagerartikel Test-Bericht" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5778,12 +5799,12 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "Ergebnis" @@ -5813,362 +5834,362 @@ msgstr "Verbaute Objekte" msgid "Serial" msgstr "Seriennummer" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "Besitzer auswählen" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Teile-Typ ('{pf}') muss {pe} sein" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "Teil muss eine Referenz haben wenn is_building wahr ist" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "Eltern-Lagerartikel" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "Die Verpackung dieses Lagerartikel ist gelagert in" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "verbaut in" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "Bestellung für diesen Lagerartikel" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "Ablaufdatum" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ablaufdatum für Lagerartikel. Bestand wird danach als abgelaufen gekennzeichnet" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "Lagerartikel-Notizen" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seriennummern {exists} existieren bereits" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagerartikel kann nicht bewegt werden, da kein Bestand vorhanden ist" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "Test Notizen" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "Kaufpreis für diesen Lagerartikel" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "Lagerartikel ist nicht verfügbar" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "Ausgewähltes Teil ist nicht in der Stückliste" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -6485,7 +6506,7 @@ msgid "Sublocations" msgstr "Unter-Lagerorte" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "Bestand-Lagerorte" @@ -6537,7 +6558,7 @@ msgstr "Zuweisungen" msgid "Child Items" msgstr "Untergeordnete Objekte" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "Lagerartikel umwandeln" @@ -6562,55 +6583,55 @@ msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "Sind Sie sicher, dass Sie diesen Lagerartikel-Verfolgungs-Eintrag löschen wollen?" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "QR-Code für diesen Lagerort" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "zurück ins Lager" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "gültigen Lagerort angeben" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "Lagerartikel retoure vom Kunden" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "alle Testdaten löschen" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "Löschen Testdaten bestätigen" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "Bestätigungsbox bestätigen" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "Lagerartikel-QR-Code" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "Bestand-Lagerort löschen" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "Lagerartikel löschen" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "Bestand-Tracking-Eintrag löschen" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "Bestand-Verfolgungs-Eintrag bearbeiten" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "Bestand-Verfolgungs-Eintrag hinzufügen" @@ -6884,7 +6905,7 @@ msgid "Install Plugin" msgstr "Plugin installieren" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "Admin" @@ -7570,6 +7591,14 @@ msgstr "Link hinzufügen" msgid "Add Attachment" msgstr "Anhang hinzufügen" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "Server-Neustart erforderlich" @@ -7706,31 +7735,27 @@ msgstr "Unbehandelter Fehler-Code" msgid "Error code" msgstr "Fehler-Code" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "Keine Anhänge gefunden" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "Anhang bearbeiten" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "Löschen bestätigen" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "Anhang löschen" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "Hochladedatum" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "Anhang bearbeiten" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "Anhang löschen" @@ -7947,6 +7972,7 @@ msgid "Variant stock allowed" msgstr "Varianten erlaubt" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "Kein Lagerbestand verfügbar" @@ -8175,20 +8201,20 @@ msgstr "Ersatzteile verfügbar" msgid "Quantity Per" msgstr "Anzahl pro" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "Ausreichender Bestand verfügbar" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "Zugeordnet" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "Bestand bauen" @@ -8196,7 +8222,7 @@ msgstr "Bestand bauen" msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "Bestand zuweisen" @@ -8848,15 +8874,15 @@ msgstr "Bestellung überfällig" msgid "Items" msgstr "Positionen" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "Position duplizieren" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "Position bearbeiten" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "Position löschen" @@ -8869,13 +8895,13 @@ msgid "Total" msgstr "Summe" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "Stück-Preis" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "Gesamtpreis" @@ -8888,39 +8914,39 @@ msgstr "Diese Position ist überfällig" msgid "Receive line item" msgstr "Position empfangen" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "Position duplizieren" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "Position bearbeiten" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "Position löschen" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "Position duplizieren" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "Zeile bearbeiten" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "Zeile löschen" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "Position duplizieren" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "Zeile bearbeiten" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "Zeile löschen" @@ -9013,39 +9039,39 @@ msgstr "an Kunde versand" msgid "Stock location not specified" msgstr "Lagerstandort nicht angegeben" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "Bestand kaufen" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "Preis berechnen" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "Kann nicht gelöscht werden, da Artikel versandt wurden" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "Kann nicht gelöscht werden, da Artikel zugewiesen sind" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "Stückpreis aktualisieren" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "Keine passenden Positionen gefunden" @@ -9377,11 +9403,11 @@ msgstr "Aufträge auswählen" msgid "Sales Order(s) must be selected before printing report" msgstr "Auftrag muss vor dem Berichtsdruck ausgewählt werden" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "Ergebnisse minimieren" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "Ergebnisse entfernen" @@ -9517,7 +9543,7 @@ msgstr "Entfernen" msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "Hinzufügen" @@ -10252,51 +10278,51 @@ msgstr "Benutzer" msgid "Select which users are assigned to this group" msgstr "Welche Benutzer gehören zu dieser Gruppe" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "Folgende Benutzer gehören zu mehreren Gruppen:" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "Persöhnliche Informationen" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "Berechtigungen" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "wichtige Daten" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "Gruppe" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "Ansicht" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "Ändern" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index f42ab8f401..fcc2d63405 100644 --- a/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:43\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "" @@ -70,72 +70,73 @@ msgstr "" msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "" msgid "Production" msgstr "" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "" @@ -2625,9 +2643,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2635,16 +2653,16 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "" @@ -5494,31 +5515,31 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 50aaad0606..65603d1a5c 100644 --- a/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-25 01:01+0000\n" +"POT-Creation-Date: 2022-05-31 04:27+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,7 +22,7 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/exceptions.py:46 +#: InvenTree/exceptions.py:50 msgid "Error details can be found in the admin panel" msgstr "" @@ -31,7 +31,7 @@ msgid "Enter date" msgstr "" #: InvenTree/forms.py:124 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:620 +#: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "" @@ -80,7 +80,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 msgid "Invalid quantity provided" msgstr "" @@ -135,11 +135,11 @@ msgid "Select file to attach" msgstr "" #: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:132 order/models.py:1215 +#: company/models.py:569 order/models.py:139 order/models.py:1273 #: part/models.py:855 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:540 -#: templates/js/translated/company.js:829 templates/js/translated/order.js:2469 +#: templates/js/translated/company.js:655 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 #: templates/js/translated/part.js:1441 msgid "Link" msgstr "" @@ -157,12 +157,12 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 +#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1581 +#: common/models.py:1582 common/models.py:1816 common/models.py:1817 +#: common/models.py:2044 common/models.py:2045 part/models.py:2357 #: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2513 msgid "User" msgstr "" @@ -199,7 +199,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 +#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1802 #: company/models.py:420 label/models.py:104 part/models.py:799 #: part/models.py:2541 plugin/models.py:99 report/models.py:169 #: templates/InvenTree/notifications/notifications.html:84 @@ -208,9 +208,10 @@ msgstr "" #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:327 -#: templates/js/translated/company.js:641 templates/js/translated/part.js:615 +#: templates/js/translated/company.js:539 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:615 #: templates/js/translated/part.js:767 templates/js/translated/part.js:1736 -#: templates/js/translated/stock.js:2292 +#: templates/js/translated/stock.js:2283 msgid "Name" msgstr "" @@ -219,22 +220,22 @@ msgstr "" #: company/models.py:575 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:130 part/models.py:822 part/templates/part/category.html:74 +#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 #: part/templates/part/set_category.html:14 report/models.py:182 #: report/models.py:547 report/models.py:586 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 -#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 -#: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1577 -#: templates/js/translated/order.js:1785 templates/js/translated/order.js:2269 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:851 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:401 +#: templates/js/translated/company.js:666 +#: templates/js/translated/company.js:957 templates/js/translated/order.js:1656 +#: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 -#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2304 templates/js/translated/stock.js:2359 +#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1676 +#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 msgid "Description" msgstr "" @@ -409,7 +410,7 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:323 templates/js/translated/table_filters.js:326 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "" @@ -417,141 +418,145 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" #: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "" #: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:184 msgid "Lost" msgstr "" #: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:189 +#: InvenTree/status_codes.py:187 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1083 -#: templates/js/translated/order.js:3057 templates/js/translated/order.js:3374 +#: InvenTree/status_codes.py:143 order/models.py:1141 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:180 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:181 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:182 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:183 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:185 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:186 +msgid "Quarantined" +msgstr "" + +#: InvenTree/status_codes.py:259 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:261 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:280 +#: InvenTree/status_codes.py:263 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:281 +#: InvenTree/status_codes.py:264 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:266 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:284 +#: InvenTree/status_codes.py:267 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:285 +#: InvenTree/status_codes.py:268 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:287 +#: InvenTree/status_codes.py:270 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:272 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:273 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:292 +#: InvenTree/status_codes.py:275 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:293 +#: InvenTree/status_codes.py:276 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:295 +#: InvenTree/status_codes.py:278 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:296 +#: InvenTree/status_codes.py:279 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2030 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:300 +#: InvenTree/status_codes.py:283 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:302 templates/js/translated/table_filters.js:213 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:213 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:303 +#: InvenTree/status_codes.py:286 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:305 +#: InvenTree/status_codes.py:288 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:306 +#: InvenTree/status_codes.py:289 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:290 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:292 msgid "Received against purchase order" msgstr "" -#: InvenTree/status_codes.py:324 +#: InvenTree/status_codes.py:307 msgid "Production" msgstr "" @@ -640,15 +645,15 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:237 order/models.py:589 -#: order/models.py:884 part/models.py:2785 +#: build/models.py:199 order/models.py:295 order/models.py:647 +#: order/models.py:942 part/models.py:2785 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 -#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1816 -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:3241 -#: templates/js/translated/order.js:3726 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 +#: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 +#: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 +#: templates/js/translated/order.js:3933 msgid "Reference" msgstr "" @@ -667,10 +672,10 @@ msgstr "" #: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:983 order/models.py:1072 part/models.py:354 +#: order/models.py:1041 order/models.py:1130 part/models.py:354 #: part/models.py:2303 part/models.py:2319 part/models.py:2338 #: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 +#: part/models.py:2669 part/models.py:2760 part/models.py:3047 #: part/serializers.py:917 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -682,19 +687,21 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 -#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 -#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 -#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 -#: templates/js/translated/company.js:492 -#: templates/js/translated/company.js:749 templates/js/translated/order.js:100 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:805 +#: templates/js/translated/build.js:1153 templates/js/translated/build.js:1647 +#: templates/js/translated/build.js:2083 templates/js/translated/build.js:2481 +#: templates/js/translated/company.js:252 +#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:607 +#: templates/js/translated/company.js:866 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 -#: templates/js/translated/order.js:1770 templates/js/translated/order.js:2612 -#: templates/js/translated/order.js:3010 templates/js/translated/order.js:3225 +#: templates/js/translated/order.js:1873 templates/js/translated/order.js:2819 +#: templates/js/translated/order.js:3217 templates/js/translated/order.js:3432 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 -#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2385 -#: templates/js/translated/stock.js:2580 templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:1633 templates/js/translated/stock.js:2376 +#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 msgid "Part" msgstr "" @@ -711,7 +718,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:247 build/serializers.py:790 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2600 +#: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" @@ -760,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:134 part/models.py:994 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2282 +#: build/models.py:292 order/models.py:141 part/models.py:994 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:611 +#: build/models.py:296 order/models.py:669 msgid "Target completion date" msgstr "" @@ -773,8 +780,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:280 -#: templates/js/translated/build.js:2490 +#: build/models.py:300 order/models.py:338 +#: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -782,7 +789,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" @@ -791,11 +798,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/templates/build/detail.html:115 order/models.py:155 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:998 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" @@ -814,7 +821,7 @@ msgstr "" #: build/models.py:334 build/serializers.py:390 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:886 order/models.py:1193 +#: order/models.py:159 order/models.py:944 order/models.py:1251 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:17 part/models.py:983 #: part/templates/part/part_sidebar.html:59 @@ -823,11 +830,11 @@ msgstr "" #: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 #: stock/serializers.py:826 stock/serializers.py:958 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1937 -#: templates/js/translated/order.js:2088 templates/js/translated/order.js:2480 -#: templates/js/translated/order.js:3399 templates/js/translated/order.js:3797 -#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 +#: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 +#: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" @@ -860,7 +867,7 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1355 +#: build/models.py:1238 order/models.py:1413 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -873,7 +880,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1375 stock/templates/stock/item_base.html:177 -#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 +#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -888,12 +895,12 @@ msgstr "" #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 -#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:101 templates/js/translated/order.js:2613 -#: templates/js/translated/order.js:2917 templates/js/translated/order.js:2922 -#: templates/js/translated/order.js:3017 templates/js/translated/order.js:3107 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2643 +#: templates/js/translated/order.js:101 templates/js/translated/order.js:2820 +#: templates/js/translated/order.js:3124 templates/js/translated/order.js:3129 +#: templates/js/translated/order.js:3224 templates/js/translated/order.js:3314 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/stock.js:2449 msgid "Stock Item" msgstr "" @@ -903,12 +910,12 @@ msgstr "" #: build/models.py:1405 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 +#: build/templates/build/detail.html:34 common/models.py:1624 #: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:877 order/models.py:1395 order/serializers.py:1103 +#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 #: part/forms.py:137 part/forms.py:153 part/models.py:2776 -#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -919,21 +926,21 @@ msgstr "" #: stock/serializers.py:282 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 -#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 -#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 -#: templates/js/translated/build.js:2103 +#: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 +#: templates/js/translated/build.js:2086 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:117 templates/js/translated/order.js:886 -#: templates/js/translated/order.js:1822 templates/js/translated/order.js:2023 -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:2936 -#: templates/js/translated/order.js:3024 templates/js/translated/order.js:3113 -#: templates/js/translated/order.js:3247 templates/js/translated/order.js:3732 +#: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 +#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 #: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2507 templates/js/translated/stock.js:2592 +#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 msgid "Quantity" msgstr "" @@ -950,7 +957,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:135 build/serializers.py:660 -#: templates/js/translated/build.js:1168 +#: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" @@ -974,7 +981,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:305 +#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 #: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 #: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 #: stock/serializers.py:294 @@ -1020,12 +1027,12 @@ msgstr "" #: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 -#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1213 -#: templates/js/translated/order.js:2929 templates/js/translated/order.js:3032 -#: templates/js/translated/order.js:3040 templates/js/translated/order.js:3121 +#: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:3136 templates/js/translated/order.js:3239 +#: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 -#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2399 +#: templates/js/translated/stock.js:1787 templates/js/translated/stock.js:2390 msgid "Location" msgstr "" @@ -1034,12 +1041,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 +#: build/templates/build/detail.html:62 order/models.py:663 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1320 templates/js/translated/order.js:1581 -#: templates/js/translated/order.js:2274 templates/js/translated/stock.js:1772 -#: templates/js/translated/stock.js:2476 templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 +#: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:2467 templates/js/translated/stock.js:2599 msgid "Status" msgstr "" @@ -1100,7 +1107,7 @@ msgid "No build outputs have been created for this build order" msgstr "" #: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: part/models.py:3039 msgid "BOM Item" msgstr "" @@ -1235,13 +1242,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:890 +#: build/templates/build/detail.html:131 order/models.py:948 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1598 -#: templates/js/translated/order.js:1884 templates/js/translated/order.js:2290 -#: templates/js/translated/order.js:3310 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2550 templates/js/translated/order.js:1677 +#: templates/js/translated/order.js:1987 templates/js/translated/order.js:2497 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1268,14 +1275,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1069 -#: order/models.py:1165 order/models.py:1299 +#: build/templates/build/detail.html:94 order/models.py:1127 +#: order/models.py:1223 order/models.py:1357 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:370 -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1310,8 +1317,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1005 -#: templates/js/translated/order.js:1321 templates/js/translated/order.js:1926 +#: build/templates/build/detail.html:49 order/models.py:1063 +#: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1325,10 +1332,10 @@ msgstr "" #: build/templates/build/detail.html:80 #: stock/templates/stock/item_base.html:170 -#: templates/js/translated/build.js:1184 +#: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1786 -#: templates/js/translated/stock.js:2615 +#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 +#: templates/js/translated/stock.js:2606 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1337,7 +1344,7 @@ msgstr "" #: build/templates/build/detail.html:126 #: order/templates/order/order_base.html:149 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2450 +#: templates/js/translated/build.js:2518 msgid "Created" msgstr "" @@ -1357,7 +1364,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916 +#: build/templates/build/detail.html:176 templates/js/translated/build.js:1899 msgid "Unallocate stock" msgstr "" @@ -1387,7 +1394,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:177 templates/js/translated/order.js:926 msgid "Order Parts" msgstr "" @@ -1463,8 +1470,8 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:307 build/templates/build/sidebar.html:19 -#: company/templates/company/manufacturer_part.html:149 -#: company/templates/company/manufacturer_part_sidebar.html:7 +#: company/templates/company/manufacturer_part.html:151 +#: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:82 #: order/templates/order/sales_order_detail.html:129 @@ -1478,11 +1485,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:503 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 +#: build/templates/build/detail.html:504 msgid "All untracked stock items have been allocated" msgstr "" @@ -1494,18 +1501,6 @@ msgstr "" msgid "Print Build Orders" msgstr "" -#: build/templates/build/index.html:44 -#: order/templates/order/purchase_orders.html:34 -#: order/templates/order/sales_orders.html:37 -msgid "Display calendar view" -msgstr "" - -#: build/templates/build/index.html:47 -#: order/templates/order/purchase_orders.html:37 -#: order/templates/order/sales_orders.html:40 -msgid "Display list view" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1729,7 +1724,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1411 +#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -2102,7 +2097,7 @@ msgstr "" msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1245 common/models.py:1574 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2283,160 +2278,176 @@ msgid "Display parts in search preview window" msgstr "" #: common/models.py:1429 -msgid "Hide Inactive Parts" +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1430 -msgid "Excluded inactive parts from search preview window" +msgid "Display supplier parts in search preview window" msgstr "" #: common/models.py:1436 -msgid "Search Categories" +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1437 -msgid "Display part categories in search preview window" +msgid "Display manufacturer parts in search preview window" msgstr "" #: common/models.py:1443 -msgid "Search Stock" +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1444 -msgid "Display stock items in search preview window" +msgid "Excluded inactive parts from search preview window" msgstr "" #: common/models.py:1450 -msgid "Hide Unavailable Stock Items" +msgid "Search Categories" msgstr "" #: common/models.py:1451 -msgid "Exclude stock items which are not available from the search preview window" +msgid "Display part categories in search preview window" msgstr "" #: common/models.py:1457 -msgid "Search Locations" +msgid "Search Stock" msgstr "" #: common/models.py:1458 -msgid "Display stock locations in search preview window" +msgid "Display stock items in search preview window" msgstr "" #: common/models.py:1464 -msgid "Search Companies" +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1465 -msgid "Display companies in search preview window" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" #: common/models.py:1471 -msgid "Search Purchase Orders" +msgid "Search Locations" msgstr "" #: common/models.py:1472 -msgid "Display purchase orders in search preview window" +msgid "Display stock locations in search preview window" msgstr "" #: common/models.py:1478 -msgid "Exclude Inactive Purchase Orders" +msgid "Search Companies" msgstr "" #: common/models.py:1479 -msgid "Exclude inactive purchase orders from search preview window" +msgid "Display companies in search preview window" msgstr "" #: common/models.py:1485 -msgid "Search Sales Orders" +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1486 -msgid "Display sales orders in search preview window" +msgid "Display purchase orders in search preview window" msgstr "" #: common/models.py:1492 -msgid "Exclude Inactive Sales Orders" +msgid "Exclude Inactive Purchase Orders" msgstr "" #: common/models.py:1493 -msgid "Exclude inactive sales orders from search preview window" +msgid "Exclude inactive purchase orders from search preview window" msgstr "" #: common/models.py:1499 -msgid "Search Preview Results" +msgid "Search Sales Orders" msgstr "" #: common/models.py:1500 -msgid "Number of results to show in each section of the search preview window" +msgid "Display sales orders in search preview window" msgstr "" #: common/models.py:1506 -msgid "Show Quantity in Forms" +msgid "Exclude Inactive Sales Orders" msgstr "" #: common/models.py:1507 -msgid "Display available part quantity in some forms" +msgid "Exclude inactive sales orders from search preview window" msgstr "" #: common/models.py:1513 -msgid "Escape Key Closes Forms" +msgid "Search Preview Results" msgstr "" #: common/models.py:1514 -msgid "Use the escape key to close modal forms" +msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1520 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1521 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:1527 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:1528 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1534 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1535 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1541 +msgid "Date Format" +msgstr "" + +#: common/models.py:1542 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1556 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1557 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1625 company/forms.py:39 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:917 +#: common/models.py:1632 company/serializers.py:285 +#: company/templates/company/supplier_part.html:263 order/models.py:975 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1633 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1793 common/models.py:1930 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1803 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1808 part/models.py:973 plugin/models.py:105 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2444,67 +2455,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1809 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1823 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1824 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1831 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1832 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1897 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1898 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1906 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1907 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1914 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1915 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1921 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1922 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1931 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1936 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1937 msgid "Was the work on this message finished?" msgstr "" @@ -2558,7 +2569,7 @@ msgstr "" #: company/models.py:104 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:405 msgid "Website" msgstr "" @@ -2654,9 +2665,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 -#: templates/js/translated/company.js:333 -#: templates/js/translated/company.js:517 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:235 +#: templates/js/translated/company.js:389 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2667,8 +2679,10 @@ msgstr "" #: company/models.py:331 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1804 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:648 +#: templates/js/translated/company.js:935 templates/js/translated/order.js:1907 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2698,8 +2712,9 @@ msgstr "" #: company/models.py:427 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:647 -#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 +#: stock/models.py:2195 templates/js/translated/company.js:540 +#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 +#: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" @@ -2710,7 +2725,7 @@ msgstr "" #: company/models.py:434 part/models.py:940 part/models.py:2549 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 -#: templates/js/translated/company.js:653 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" @@ -2723,11 +2738,12 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/templates/company/supplier_part.html:87 order/models.py:310 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1564 +#: templates/js/translated/company.js:254 +#: templates/js/translated/company.js:393 +#: templates/js/translated/company.js:891 templates/js/translated/order.js:1643 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2738,8 +2754,9 @@ msgid "Select supplier" msgstr "" #: company/models.py:556 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1791 -#: templates/js/translated/part.js:227 templates/js/translated/part.js:942 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 +#: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 +#: templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2776,7 +2793,7 @@ msgstr "" #: company/models.py:587 company/templates/company/supplier_part.html:118 #: stock/models.py:631 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1922 +#: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" @@ -2806,7 +2823,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:176 templates/js/translated/company.js:322 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 msgid "Company" msgstr "" @@ -2824,7 +2841,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:321 msgid "Edit Company" msgstr "" @@ -2847,12 +2864,12 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 +#: company/templates/company/company_base.html:86 order/models.py:658 #: order/templates/order/sales_order_base.html:116 stock/models.py:650 #: stock/models.py:651 stock/serializers.py:714 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2251 -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2431 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2871,8 +2888,8 @@ msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 -#: company/templates/company/manufacturer_part_sidebar.html:9 -#: templates/InvenTree/search.html:118 +#: company/templates/company/manufacturer_part_sidebar.html:7 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2886,32 +2903,24 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:31 -#: company/templates/company/detail.html:78 -#: company/templates/company/manufacturer_part.html:132 -#: company/templates/company/manufacturer_part.html:177 -#: part/templates/part/category.html:168 part/templates/part/detail.html:361 -#: part/templates/part/detail.html:390 -msgid "Options" -msgstr "" - #: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:83 +#: company/templates/company/detail.html:84 #: part/templates/part/category.html:176 msgid "Order parts" msgstr "" #: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:88 +#: company/templates/company/detail.html:89 msgid "Delete parts" msgstr "" #: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:90 msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2919,88 +2928,76 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:380 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:382 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:106 +#: company/templates/company/detail.html:107 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:116 +#: company/templates/company/detail.html:117 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 -#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:197 +#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:190 templates/navbar.html:50 +#: templates/js/translated/search.js:275 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:120 +#: company/templates/company/detail.html:121 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:142 +#: company/templates/company/detail.html:143 #: company/templates/company/sidebar.html:20 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 -#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:217 +#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 templates/navbar.html:61 +#: templates/js/translated/search.js:299 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:167 -#: templates/js/translated/build.js:1675 +#: company/templates/company/detail.html:168 +#: templates/js/translated/build.js:1658 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:184 +#: company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:375 -#: company/templates/company/manufacturer_part.html:264 -#: part/templates/part/detail.html:451 -msgid "Delete Supplier Parts?" -msgstr "" - -#: company/templates/company/detail.html:376 -#: company/templates/company/manufacturer_part.html:265 -#: part/templates/part/detail.html:452 -msgid "All selected supplier parts will be deleted" -msgstr "" - #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:47 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 +#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3013,12 +3010,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:565 +#: templates/js/translated/company.js:680 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:566 +#: templates/js/translated/company.js:681 msgid "Delete manufacturer part" msgstr "" @@ -3034,55 +3031,46 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:41 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 -#: templates/InvenTree/search.html:188 templates/navbar.html:48 +#: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:134 +#: company/templates/company/manufacturer_part.html:136 #: part/templates/part/detail.html:363 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:134 -#: company/templates/company/manufacturer_part.html:179 -#: company/templates/company/manufacturer_part.html:303 -#: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 -#: templates/js/translated/helpers.js:32 users/models.py:220 +#: company/templates/company/manufacturer_part.html:136 +#: company/templates/company/manufacturer_part.html:183 +#: part/templates/part/detail.html:364 part/templates/part/detail.html:394 +#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 +#: users/models.py:220 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:164 +#: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 #: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:168 +#: company/templates/company/manufacturer_part.html:170 #: part/templates/part/detail.html:184 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:66 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:179 +#: company/templates/company/manufacturer_part.html:183 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:240 -#: part/templates/part/detail.html:853 +#: company/templates/company/manufacturer_part.html:245 +#: part/templates/part/detail.html:835 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:288 -msgid "Selected parameters will be deleted" -msgstr "" - -#: company/templates/company/manufacturer_part.html:300 -msgid "Delete Parameters" -msgstr "" - #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" msgstr "" @@ -3102,18 +3090,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:615 #: stock/templates/stock/item_base.html:238 -#: templates/js/translated/company.js:790 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1879 +#: templates/js/translated/company.js:907 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1869 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:863 +#: templates/js/translated/company.js:980 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:864 +#: templates/js/translated/company.js:981 msgid "Delete supplier part" msgstr "" @@ -3188,11 +3176,11 @@ msgstr "" #: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:150 +#: templates/InvenTree/search.html:151 #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 -#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1687 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3218,8 +3206,8 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:152 templates/js/translated/search.js:138 -#: templates/js/translated/stock.js:2316 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:41 msgid "Stock Items" msgstr "" @@ -3231,7 +3219,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:208 +#: company/views.py:53 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" @@ -3240,7 +3228,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:167 +#: company/views.py:61 templates/js/translated/search.js:252 msgid "Companies" msgstr "" @@ -3330,313 +3318,313 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:137 msgid "Order description" msgstr "" -#: order/models.py:132 order/models.py:1216 +#: order/models.py:139 order/models.py:1274 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:147 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:154 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:159 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:296 order/models.py:648 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:301 order/models.py:663 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:311 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1573 +#: order/models.py:314 order/templates/order/order_base.html:124 +#: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:314 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:321 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:326 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:327 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:332 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:333 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:339 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:368 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:514 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:659 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:665 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:665 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:670 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1170 -#: templates/js/translated/order.js:2298 templates/js/translated/order.js:2449 +#: order/models.py:673 order/models.py:1228 +#: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:680 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:746 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:750 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:753 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:756 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:878 +#: order/models.py:936 msgid "Item quantity" msgstr "" -#: order/models.py:884 +#: order/models.py:942 msgid "Line item reference" msgstr "" -#: order/models.py:886 +#: order/models.py:944 msgid "Line item notes" msgstr "" -#: order/models.py:891 +#: order/models.py:949 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:909 +#: order/models.py:967 msgid "Context" msgstr "" -#: order/models.py:910 +#: order/models.py:968 msgid "Additional context for this line" msgstr "" -#: order/models.py:918 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:951 +#: order/models.py:1009 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:958 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:964 order/models.py:1046 order/models.py:1068 -#: order/models.py:1164 order/models.py:1299 -#: templates/js/translated/order.js:2905 +#: order/models.py:1022 order/models.py:1104 order/models.py:1126 +#: order/models.py:1222 order/models.py:1357 +#: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:965 order/models.py:1046 +#: order/models.py:1023 order/models.py:1104 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/order.js:885 templates/js/translated/order.js:1542 -#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1856 -#: templates/js/translated/stock.js:2421 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1621 +#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1846 +#: templates/js/translated/stock.js:2412 msgid "Purchase Order" msgstr "" -#: order/models.py:984 +#: order/models.py:1042 msgid "Supplier part" msgstr "" -#: order/models.py:991 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1318 templates/js/translated/order.js:1906 +#: order/models.py:1049 order/templates/order/order_base.html:169 +#: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:992 +#: order/models.py:1050 msgid "Number of items received" msgstr "" -#: order/models.py:999 part/templates/part/prices.html:179 stock/models.py:745 +#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 #: stock/serializers.py:159 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1000 +#: order/models.py:1058 msgid "Unit purchase price" msgstr "" -#: order/models.py:1008 +#: order/models.py:1066 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1078 part/templates/part/part_pricing.html:112 +#: order/models.py:1136 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1079 +#: order/models.py:1137 msgid "Unit sale price" msgstr "" -#: order/models.py:1084 +#: order/models.py:1142 msgid "Shipped quantity" msgstr "" -#: order/models.py:1171 +#: order/models.py:1229 msgid "Date of shipment" msgstr "" -#: order/models.py:1178 +#: order/models.py:1236 msgid "Checked By" msgstr "" -#: order/models.py:1179 +#: order/models.py:1237 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1187 +#: order/models.py:1245 msgid "Shipment number" msgstr "" -#: order/models.py:1194 +#: order/models.py:1252 msgid "Shipment notes" msgstr "" -#: order/models.py:1201 +#: order/models.py:1259 msgid "Tracking Number" msgstr "" -#: order/models.py:1202 +#: order/models.py:1260 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1209 +#: order/models.py:1267 msgid "Invoice Number" msgstr "" -#: order/models.py:1210 +#: order/models.py:1268 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1227 +#: order/models.py:1285 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1230 +#: order/models.py:1288 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1337 order/models.py:1339 +#: order/models.py:1395 order/models.py:1397 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1343 +#: order/models.py:1401 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1345 +#: order/models.py:1403 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1348 +#: order/models.py:1406 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1352 +#: order/models.py:1410 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1358 order/serializers.py:1008 +#: order/models.py:1416 order/serializers.py:1008 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1361 +#: order/models.py:1419 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1362 +#: order/models.py:1420 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1370 +#: order/models.py:1428 msgid "Line" msgstr "" -#: order/models.py:1378 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1437 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1391 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1392 +#: order/models.py:1450 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1395 +#: order/models.py:1453 msgid "Enter stock allocation quantity" msgstr "" @@ -3842,7 +3830,12 @@ msgstr "" msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:235 +#: order/templates/order/order_base.html:187 +#: order/templates/order/sales_order_base.html:194 +msgid "Total cost could not be calculated" +msgstr "" + +#: order/templates/order/order_base.html:243 msgid "Edit Purchase Order" msgstr "" @@ -3873,9 +3866,9 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 -#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 +#: templates/js/translated/build.js:579 templates/js/translated/build.js:1972 #: templates/js/translated/order.js:833 templates/js/translated/order.js:1265 -#: templates/js/translated/order.js:2524 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3939,7 +3932,7 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:239 +#: order/templates/order/purchase_order_detail.html:235 msgid "Add Order Line" msgstr "" @@ -3962,7 +3955,7 @@ msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: order/templates/order/sales_order_base.html:250 +#: order/templates/order/sales_order_base.html:258 msgid "Complete Sales Order" msgstr "" @@ -3971,7 +3964,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2264 +#: templates/js/translated/order.js:2471 msgid "Customer Reference" msgstr "" @@ -3981,7 +3974,7 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:222 +#: order/templates/order/sales_order_base.html:230 msgid "Edit Sales Order" msgstr "" @@ -3995,7 +3988,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4123,7 +4116,7 @@ msgid "Part Category" msgstr "" #: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 #: users/models.py:38 msgid "Part Categories" msgstr "" @@ -4134,7 +4127,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 -#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99 +#: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:39 msgid "Parts" msgstr "" @@ -4212,7 +4205,7 @@ msgstr "" #: part/models.py:842 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 -#: templates/js/translated/stock.js:1669 +#: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" @@ -4326,7 +4319,7 @@ msgid "Test with this name already exists for this part" msgstr "" #: part/models.py:2462 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1284 +#: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" @@ -4458,7 +4451,7 @@ msgid "BOM quantity for this BOM item" msgstr "" #: part/models.py:2778 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 +#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" @@ -4492,7 +4485,7 @@ msgid "BOM line checksum" msgstr "" #: part/models.py:2794 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1009 +#: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" @@ -4503,7 +4496,7 @@ msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" #: part/models.py:2800 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" @@ -4519,35 +4512,35 @@ msgstr "" msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:3006 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:3028 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:3040 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:3048 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:3059 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:3063 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:3063 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:3095 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4724,6 +4717,11 @@ msgstr "" msgid "New Part" msgstr "" +#: part/templates/part/category.html:168 part/templates/part/detail.html:361 +#: part/templates/part/detail.html:392 +msgid "Options" +msgstr "" + #: part/templates/part/category.html:172 msgid "Set category" msgstr "" @@ -4912,46 +4910,46 @@ msgstr "" msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:378 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:392 +#: part/templates/part/detail.html:394 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:628 +#: part/templates/part/detail.html:610 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:672 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:680 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:783 +#: part/templates/part/detail.html:765 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:916 +#: part/templates/part/detail.html:898 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:928 +#: part/templates/part/detail.html:910 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:940 +#: part/templates/part/detail.html:922 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1029 +#: part/templates/part/detail.html:1011 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -5094,8 +5092,8 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:508 -#: templates/js/translated/company.js:765 +#: templates/js/translated/company.js:623 +#: templates/js/translated/company.js:882 #: templates/js/translated/model_renderers.js:192 #: templates/js/translated/part.js:581 templates/js/translated/part.js:658 msgid "Inactive" @@ -5111,7 +5109,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3336 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5126,7 +5124,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 msgid "Can Build" msgstr "" @@ -5184,7 +5182,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:963 msgid "No supplier pricing available" msgstr "" @@ -5304,7 +5302,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 msgid "Supplier Cost" msgstr "" @@ -5543,7 +5541,7 @@ msgstr "" msgid "Barcode associated with Stock Item" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:61 msgid "Label printing failed" msgstr "" @@ -5785,10 +5783,10 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:79 #: stock/models.py:655 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 -#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 +#: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:115 templates/js/translated/order.js:3022 -#: templates/js/translated/order.js:3111 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:115 templates/js/translated/order.js:3229 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5809,7 +5807,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1590 templates/js/translated/stock.js:2349 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2340 msgid "Date" msgstr "" @@ -5828,7 +5826,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725 -#: templates/js/translated/stock.js:2598 +#: templates/js/translated/stock.js:2589 msgid "Serial" msgstr "" @@ -5948,7 +5946,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:713 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1826 +#: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" @@ -6228,11 +6226,11 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2742 +#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2733 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465 +#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1455 msgid "Add Test Result" msgstr "" @@ -6390,7 +6388,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:1710 +#: templates/js/translated/build.js:1693 msgid "No location set" msgstr "" @@ -6419,7 +6417,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1842 +#: templates/js/translated/stock.js:1832 msgid "Last Updated" msgstr "" @@ -6503,8 +6501,8 @@ msgstr "" msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 -#: templates/js/translated/search.js:153 users/models.py:40 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 +#: templates/js/translated/search.js:238 users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7348,8 +7346,8 @@ msgstr "" #: templates/about.html:11 templates/about.html:105 #: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 -#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:594 -#: templates/js/translated/modals.js:688 templates/js/translated/modals.js:996 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:595 +#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7621,14 +7619,14 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1446 +#: templates/js/translated/bom.js:1425 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 -#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 msgid "Available" @@ -7663,67 +7661,67 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:197 +#: templates/js/translated/api.js:242 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:198 +#: templates/js/translated/api.js:243 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:217 +#: templates/js/translated/api.js:262 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:218 +#: templates/js/translated/api.js:263 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:226 +#: templates/js/translated/api.js:271 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:227 +#: templates/js/translated/api.js:272 msgid "Error code" msgstr "" @@ -7784,7 +7782,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1057 msgid "Invalid server response" msgstr "" @@ -7866,7 +7864,7 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 -#: templates/js/translated/order.js:709 templates/js/translated/tables.js:53 +#: templates/js/translated/order.js:709 templates/js/translated/tables.js:145 msgid "Format" msgstr "" @@ -7951,84 +7949,84 @@ msgstr "" msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:696 +#: templates/js/translated/bom.js:697 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:845 +#: templates/js/translated/bom.js:824 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:855 +#: templates/js/translated/bom.js:834 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:949 +#: templates/js/translated/bom.js:928 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:964 +#: templates/js/translated/bom.js:943 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:971 +#: templates/js/translated/bom.js:950 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 +#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1082 +#: templates/js/translated/bom.js:1061 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1084 +#: templates/js/translated/bom.js:1063 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1086 +#: templates/js/translated/bom.js:1065 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 +#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:1069 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1451 +#: templates/js/translated/bom.js:1430 msgid "Inherited from parent BOM" msgstr "" @@ -8150,262 +8148,270 @@ msgstr "" msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1138 +#: templates/js/translated/build.js:1133 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1207 +#: templates/js/translated/build.js:1202 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:1209 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1231 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1241 +#: templates/js/translated/build.js:1236 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:3059 +#: templates/js/translated/build.js:1710 templates/js/translated/build.js:2661 +#: templates/js/translated/order.js:3266 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:3060 +#: templates/js/translated/build.js:1712 templates/js/translated/build.js:2662 +#: templates/js/translated/order.js:3267 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1747 +#: templates/js/translated/build.js:1730 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1757 +#: templates/js/translated/build.js:1740 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1782 +#: templates/js/translated/build.js:1765 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1799 +#: templates/js/translated/build.js:1782 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1825 +#: templates/js/translated/build.js:1808 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1827 +#: templates/js/translated/build.js:1810 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3346 +#: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3426 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:1908 templates/stock_table.html:50 +#: templates/js/translated/build.js:1891 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3419 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:756 templates/js/translated/order.js:2586 +#: templates/js/translated/build.js:1933 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:756 templates/js/translated/order.js:2793 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2587 +#: templates/js/translated/build.js:1934 templates/js/translated/order.js:2794 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2535 +#: templates/js/translated/build.js:1983 templates/js/translated/order.js:2742 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2074 +#: templates/js/translated/build.js:2057 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2075 +#: templates/js/translated/build.js:2058 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2601 +#: templates/js/translated/build.js:2072 templates/js/translated/order.js:2808 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2100 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2698 +#: templates/js/translated/build.js:2111 templates/js/translated/order.js:2905 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2775 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:2982 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2297 +#: templates/js/translated/build.js:2280 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2281 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2300 +#: templates/js/translated/build.js:2283 msgid "If a location is specifed, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2301 +#: templates/js/translated/build.js:2284 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2285 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2323 +#: templates/js/translated/build.js:2306 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2363 +#: templates/js/translated/build.js:2413 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629 -#: templates/js/translated/stock.js:2286 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1314 +#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1619 +#: templates/js/translated/stock.js:2277 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2468 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2428 +#: templates/js/translated/build.js:2496 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2476 +#: templates/js/translated/build.js:2544 msgid "No information" msgstr "" -#: templates/js/translated/build.js:2533 +#: templates/js/translated/build.js:2638 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:65 +#: templates/js/translated/company.js:66 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:78 templates/js/translated/company.js:177 +#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:99 +#: templates/js/translated/company.js:100 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:108 -msgid "Delete Manufacturer Part" -msgstr "" - -#: templates/js/translated/company.js:165 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:193 +#: templates/js/translated/company.js:185 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:208 +#: templates/js/translated/company.js:200 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:218 -msgid "Delete Supplier Part" +#: templates/js/translated/company.js:248 +msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:286 +#: templates/js/translated/company.js:263 +msgid "Delete Supplier Parts" +msgstr "" + +#: templates/js/translated/company.js:342 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:363 +#: templates/js/translated/company.js:419 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:372 +#: templates/js/translated/company.js:428 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:443 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:406 -msgid "The following manufacturer parts will be deleted" +#: templates/js/translated/company.js:482 +msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:423 +#: templates/js/translated/company.js:496 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:480 +#: templates/js/translated/company.js:535 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:548 +msgid "Delete Parameters" +msgstr "" + +#: templates/js/translated/company.js:595 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:565 +#: templates/js/translated/company.js:615 +#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 #: templates/js/translated/part.js:650 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:569 +#: templates/js/translated/company.js:619 +#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 #: templates/js/translated/part.js:654 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:631 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:668 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:669 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:688 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:699 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:737 +#: templates/js/translated/company.js:854 msgid "No supplier parts found" msgstr "" @@ -8443,61 +8449,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 -#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 +#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 +#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:355 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:370 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:384 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:398 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:646 +#: templates/js/translated/forms.js:656 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:746 +#: templates/js/translated/forms.js:756 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1238 templates/modals.html:19 +#: templates/js/translated/forms.js:1248 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1671 +#: templates/js/translated/forms.js:1681 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1886 templates/search.html:29 +#: templates/js/translated/forms.js:1896 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2139 +#: templates/js/translated/forms.js:2149 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2605 +#: templates/js/translated/forms.js:2615 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2605 +#: templates/js/translated/forms.js:2615 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2617 +#: templates/js/translated/forms.js:2627 msgid "Select Columns" msgstr "" @@ -8571,62 +8577,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:81 templates/js/translated/modals.js:141 -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 +#: templates/js/translated/modals.js:621 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:82 templates/js/translated/modals.js:140 -#: templates/js/translated/modals.js:687 templates/js/translated/modals.js:995 +#: templates/js/translated/modals.js:83 templates/js/translated/modals.js:141 +#: templates/js/translated/modals.js:688 templates/js/translated/modals.js:996 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:139 +#: templates/js/translated/modals.js:140 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:402 +#: templates/js/translated/modals.js:403 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:561 +#: templates/js/translated/modals.js:562 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:619 +#: templates/js/translated/modals.js:620 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:676 +#: templates/js/translated/modals.js:677 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:947 +#: templates/js/translated/modals.js:948 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:947 +#: templates/js/translated/modals.js:948 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:959 +#: templates/js/translated/modals.js:960 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1057 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1071 +#: templates/js/translated/modals.js:1072 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1073 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1095 +#: templates/js/translated/modals.js:1096 msgid "Error requesting form data" msgstr "" @@ -8824,7 +8830,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2089 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 msgid "Stock Status" msgstr "" @@ -8848,217 +8854,217 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1531 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:2241 +#: templates/js/translated/order.js:1635 templates/js/translated/order.js:2448 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1606 templates/js/translated/order.js:2306 -#: templates/js/translated/order.js:2436 +#: templates/js/translated/order.js:1685 templates/js/translated/order.js:2513 +#: templates/js/translated/order.js:2643 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1680 templates/js/translated/order.js:3478 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1697 templates/js/translated/order.js:3500 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1710 templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1753 +#: templates/js/translated/order.js:1856 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1780 templates/js/translated/order.js:3235 +#: templates/js/translated/order.js:1883 templates/js/translated/order.js:3442 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1834 templates/js/translated/order.js:2036 -#: templates/js/translated/order.js:3260 templates/js/translated/order.js:3745 +#: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1849 templates/js/translated/order.js:2052 -#: templates/js/translated/order.js:3276 templates/js/translated/order.js:3761 +#: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1890 templates/js/translated/order.js:3318 +#: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1949 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1953 templates/js/translated/order.js:3432 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1954 templates/js/translated/order.js:3433 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1955 templates/js/translated/order.js:3437 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2101 templates/js/translated/order.js:3810 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3811 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2103 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2133 templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2154 templates/js/translated/order.js:3863 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2165 templates/js/translated/order.js:3874 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2176 +#: templates/js/translated/order.js:2279 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2217 +#: templates/js/translated/order.js:2392 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2255 +#: templates/js/translated/order.js:2462 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2549 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2345 +#: templates/js/translated/order.js:2552 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2350 +#: templates/js/translated/order.js:2557 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2370 +#: templates/js/translated/order.js:2577 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2387 +#: templates/js/translated/order.js:2594 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2421 +#: templates/js/translated/order.js:2628 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2431 +#: templates/js/translated/order.js:2638 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2455 +#: templates/js/translated/order.js:2662 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2461 +#: templates/js/translated/order.js:2668 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2465 +#: templates/js/translated/order.js:2672 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:2634 +#: templates/js/translated/order.js:2841 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:2685 +#: templates/js/translated/order.js:2892 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2686 +#: templates/js/translated/order.js:2893 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2894 +#: templates/js/translated/order.js:3101 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2975 +#: templates/js/translated/order.js:3182 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2992 +#: templates/js/translated/order.js:3199 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2993 +#: templates/js/translated/order.js:3200 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3036 templates/js/translated/order.js:3125 -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 +#: templates/js/translated/stock.js:1535 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3044 templates/js/translated/order.js:3134 +#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3341 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3416 +#: templates/js/translated/order.js:3623 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3422 +#: templates/js/translated/order.js:3629 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3429 templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3441 +#: templates/js/translated/order.js:3648 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3444 +#: templates/js/translated/order.js:3651 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3526 +#: templates/js/translated/order.js:3733 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3635 +#: templates/js/translated/order.js:3842 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3649 +#: templates/js/translated/order.js:3856 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3885 +#: templates/js/translated/order.js:4092 msgid "No matching lines" msgstr "" @@ -9240,7 +9246,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2247 +#: templates/js/translated/stock.js:2238 msgid "Display as list" msgstr "" @@ -9248,7 +9254,7 @@ msgstr "" msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2266 +#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 msgid "Display as tree" msgstr "" @@ -9256,7 +9262,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2310 +#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 msgid "Path" msgstr "" @@ -9264,12 +9270,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243 +#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244 -#: templates/js/translated/stock.js:1503 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 +#: templates/js/translated/stock.js:1493 msgid "Delete test result" msgstr "" @@ -9390,11 +9396,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:307 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:310 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9554,204 +9560,204 @@ msgstr "" msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1172 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1174 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1189 +#: templates/js/translated/stock.js:1179 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1236 +#: templates/js/translated/stock.js:1226 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1239 +#: templates/js/translated/stock.js:1229 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1255 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1311 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1486 +#: templates/js/translated/stock.js:1476 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1508 +#: templates/js/translated/stock.js:1498 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1537 +#: templates/js/translated/stock.js:1527 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1541 +#: templates/js/translated/stock.js:1531 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1539 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1545 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1722 +#: templates/js/translated/stock.js:1712 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1717 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1720 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:1723 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1735 +#: templates/js/translated/stock.js:1725 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1737 +#: templates/js/translated/stock.js:1727 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1730 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1734 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1736 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1743 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1755 +#: templates/js/translated/stock.js:1745 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1757 +#: templates/js/translated/stock.js:1747 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1761 +#: templates/js/translated/stock.js:1751 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1802 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1894 +#: templates/js/translated/stock.js:1884 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:1922 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2095 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2118 +#: templates/js/translated/stock.js:2109 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2110 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2374 +#: templates/js/translated/stock.js:2365 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/stock.js:2381 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2412 +#: templates/js/translated/stock.js:2403 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/stock.js:2422 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2441 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2468 +#: templates/js/translated/stock.js:2459 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2491 +#: templates/js/translated/stock.js:2482 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2499 +#: templates/js/translated/stock.js:2490 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/stock.js:2566 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2626 templates/js/translated/stock.js:2662 +#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2675 +#: templates/js/translated/stock.js:2666 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2696 +#: templates/js/translated/stock.js:2687 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2697 +#: templates/js/translated/stock.js:2688 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2690 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2700 +#: templates/js/translated/stock.js:2691 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2701 +#: templates/js/translated/stock.js:2692 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2702 +#: templates/js/translated/stock.js:2693 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2706 msgid "Select part to install" msgstr "" @@ -9983,69 +9989,81 @@ msgstr "" msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:50 +#: templates/js/translated/tables.js:70 +msgid "Display calendar view" +msgstr "" + +#: templates/js/translated/tables.js:80 +msgid "Display list view" +msgstr "" + +#: templates/js/translated/tables.js:90 +msgid "Display tree view" +msgstr "" + +#: templates/js/translated/tables.js:142 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:54 +#: templates/js/translated/tables.js:146 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:433 +#: templates/js/translated/tables.js:525 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:436 +#: templates/js/translated/tables.js:528 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:441 +#: templates/js/translated/tables.js:533 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:443 +#: templates/js/translated/tables.js:535 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:443 +#: templates/js/translated/tables.js:535 msgid "to" msgstr "" -#: templates/js/translated/tables.js:443 +#: templates/js/translated/tables.js:535 msgid "of" msgstr "" -#: templates/js/translated/tables.js:443 +#: templates/js/translated/tables.js:535 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:447 templates/navbar.html:102 +#: templates/js/translated/tables.js:539 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:450 +#: templates/js/translated/tables.js:542 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:453 +#: templates/js/translated/tables.js:545 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:456 +#: templates/js/translated/tables.js:548 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:459 +#: templates/js/translated/tables.js:551 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:462 +#: templates/js/translated/tables.js:554 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:465 +#: templates/js/translated/tables.js:557 msgid "All" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 39a93dd08e..5bc1ac446c 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:43\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "" @@ -70,72 +70,73 @@ msgstr "" msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "" msgid "Production" msgstr "" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "" @@ -2625,9 +2643,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2635,16 +2653,16 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "" @@ -5494,31 +5515,31 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 50aaad0606..65603d1a5c 100644 --- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-25 01:01+0000\n" +"POT-Creation-Date: 2022-05-31 04:27+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,7 +22,7 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/exceptions.py:46 +#: InvenTree/exceptions.py:50 msgid "Error details can be found in the admin panel" msgstr "" @@ -31,7 +31,7 @@ msgid "Enter date" msgstr "" #: InvenTree/forms.py:124 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:620 +#: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "" @@ -80,7 +80,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 msgid "Invalid quantity provided" msgstr "" @@ -135,11 +135,11 @@ msgid "Select file to attach" msgstr "" #: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:132 order/models.py:1215 +#: company/models.py:569 order/models.py:139 order/models.py:1273 #: part/models.py:855 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:540 -#: templates/js/translated/company.js:829 templates/js/translated/order.js:2469 +#: templates/js/translated/company.js:655 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 #: templates/js/translated/part.js:1441 msgid "Link" msgstr "" @@ -157,12 +157,12 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 +#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1581 +#: common/models.py:1582 common/models.py:1816 common/models.py:1817 +#: common/models.py:2044 common/models.py:2045 part/models.py:2357 #: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2513 msgid "User" msgstr "" @@ -199,7 +199,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 +#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1802 #: company/models.py:420 label/models.py:104 part/models.py:799 #: part/models.py:2541 plugin/models.py:99 report/models.py:169 #: templates/InvenTree/notifications/notifications.html:84 @@ -208,9 +208,10 @@ msgstr "" #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:327 -#: templates/js/translated/company.js:641 templates/js/translated/part.js:615 +#: templates/js/translated/company.js:539 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:615 #: templates/js/translated/part.js:767 templates/js/translated/part.js:1736 -#: templates/js/translated/stock.js:2292 +#: templates/js/translated/stock.js:2283 msgid "Name" msgstr "" @@ -219,22 +220,22 @@ msgstr "" #: company/models.py:575 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:130 part/models.py:822 part/templates/part/category.html:74 +#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 #: part/templates/part/set_category.html:14 report/models.py:182 #: report/models.py:547 report/models.py:586 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 -#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 -#: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1577 -#: templates/js/translated/order.js:1785 templates/js/translated/order.js:2269 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:851 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:401 +#: templates/js/translated/company.js:666 +#: templates/js/translated/company.js:957 templates/js/translated/order.js:1656 +#: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 -#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2304 templates/js/translated/stock.js:2359 +#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1676 +#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 msgid "Description" msgstr "" @@ -409,7 +410,7 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:323 templates/js/translated/table_filters.js:326 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "" @@ -417,141 +418,145 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" #: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "" #: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:184 msgid "Lost" msgstr "" #: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:189 +#: InvenTree/status_codes.py:187 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1083 -#: templates/js/translated/order.js:3057 templates/js/translated/order.js:3374 +#: InvenTree/status_codes.py:143 order/models.py:1141 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:180 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:181 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:182 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:183 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:185 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:186 +msgid "Quarantined" +msgstr "" + +#: InvenTree/status_codes.py:259 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:261 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:280 +#: InvenTree/status_codes.py:263 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:281 +#: InvenTree/status_codes.py:264 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:266 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:284 +#: InvenTree/status_codes.py:267 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:285 +#: InvenTree/status_codes.py:268 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:287 +#: InvenTree/status_codes.py:270 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:272 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:273 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:292 +#: InvenTree/status_codes.py:275 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:293 +#: InvenTree/status_codes.py:276 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:295 +#: InvenTree/status_codes.py:278 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:296 +#: InvenTree/status_codes.py:279 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2030 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:300 +#: InvenTree/status_codes.py:283 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:302 templates/js/translated/table_filters.js:213 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:213 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:303 +#: InvenTree/status_codes.py:286 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:305 +#: InvenTree/status_codes.py:288 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:306 +#: InvenTree/status_codes.py:289 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:290 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:292 msgid "Received against purchase order" msgstr "" -#: InvenTree/status_codes.py:324 +#: InvenTree/status_codes.py:307 msgid "Production" msgstr "" @@ -640,15 +645,15 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:237 order/models.py:589 -#: order/models.py:884 part/models.py:2785 +#: build/models.py:199 order/models.py:295 order/models.py:647 +#: order/models.py:942 part/models.py:2785 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 -#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1816 -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:3241 -#: templates/js/translated/order.js:3726 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 +#: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 +#: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 +#: templates/js/translated/order.js:3933 msgid "Reference" msgstr "" @@ -667,10 +672,10 @@ msgstr "" #: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:983 order/models.py:1072 part/models.py:354 +#: order/models.py:1041 order/models.py:1130 part/models.py:354 #: part/models.py:2303 part/models.py:2319 part/models.py:2338 #: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 +#: part/models.py:2669 part/models.py:2760 part/models.py:3047 #: part/serializers.py:917 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -682,19 +687,21 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 -#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 -#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 -#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 -#: templates/js/translated/company.js:492 -#: templates/js/translated/company.js:749 templates/js/translated/order.js:100 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:805 +#: templates/js/translated/build.js:1153 templates/js/translated/build.js:1647 +#: templates/js/translated/build.js:2083 templates/js/translated/build.js:2481 +#: templates/js/translated/company.js:252 +#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:607 +#: templates/js/translated/company.js:866 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 -#: templates/js/translated/order.js:1770 templates/js/translated/order.js:2612 -#: templates/js/translated/order.js:3010 templates/js/translated/order.js:3225 +#: templates/js/translated/order.js:1873 templates/js/translated/order.js:2819 +#: templates/js/translated/order.js:3217 templates/js/translated/order.js:3432 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 -#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2385 -#: templates/js/translated/stock.js:2580 templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:1633 templates/js/translated/stock.js:2376 +#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 msgid "Part" msgstr "" @@ -711,7 +718,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:247 build/serializers.py:790 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2600 +#: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" @@ -760,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:134 part/models.py:994 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2282 +#: build/models.py:292 order/models.py:141 part/models.py:994 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:611 +#: build/models.py:296 order/models.py:669 msgid "Target completion date" msgstr "" @@ -773,8 +780,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:280 -#: templates/js/translated/build.js:2490 +#: build/models.py:300 order/models.py:338 +#: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -782,7 +789,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" @@ -791,11 +798,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/templates/build/detail.html:115 order/models.py:155 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:998 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" @@ -814,7 +821,7 @@ msgstr "" #: build/models.py:334 build/serializers.py:390 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:886 order/models.py:1193 +#: order/models.py:159 order/models.py:944 order/models.py:1251 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:17 part/models.py:983 #: part/templates/part/part_sidebar.html:59 @@ -823,11 +830,11 @@ msgstr "" #: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 #: stock/serializers.py:826 stock/serializers.py:958 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1937 -#: templates/js/translated/order.js:2088 templates/js/translated/order.js:2480 -#: templates/js/translated/order.js:3399 templates/js/translated/order.js:3797 -#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 +#: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 +#: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" @@ -860,7 +867,7 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1355 +#: build/models.py:1238 order/models.py:1413 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -873,7 +880,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1375 stock/templates/stock/item_base.html:177 -#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 +#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -888,12 +895,12 @@ msgstr "" #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 -#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:101 templates/js/translated/order.js:2613 -#: templates/js/translated/order.js:2917 templates/js/translated/order.js:2922 -#: templates/js/translated/order.js:3017 templates/js/translated/order.js:3107 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2643 +#: templates/js/translated/order.js:101 templates/js/translated/order.js:2820 +#: templates/js/translated/order.js:3124 templates/js/translated/order.js:3129 +#: templates/js/translated/order.js:3224 templates/js/translated/order.js:3314 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/stock.js:2449 msgid "Stock Item" msgstr "" @@ -903,12 +910,12 @@ msgstr "" #: build/models.py:1405 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 +#: build/templates/build/detail.html:34 common/models.py:1624 #: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:877 order/models.py:1395 order/serializers.py:1103 +#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 #: part/forms.py:137 part/forms.py:153 part/models.py:2776 -#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -919,21 +926,21 @@ msgstr "" #: stock/serializers.py:282 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 -#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 -#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 -#: templates/js/translated/build.js:2103 +#: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 +#: templates/js/translated/build.js:2086 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:117 templates/js/translated/order.js:886 -#: templates/js/translated/order.js:1822 templates/js/translated/order.js:2023 -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:2936 -#: templates/js/translated/order.js:3024 templates/js/translated/order.js:3113 -#: templates/js/translated/order.js:3247 templates/js/translated/order.js:3732 +#: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 +#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 #: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2507 templates/js/translated/stock.js:2592 +#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 msgid "Quantity" msgstr "" @@ -950,7 +957,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:135 build/serializers.py:660 -#: templates/js/translated/build.js:1168 +#: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" @@ -974,7 +981,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:305 +#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 #: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 #: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 #: stock/serializers.py:294 @@ -1020,12 +1027,12 @@ msgstr "" #: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 -#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1213 -#: templates/js/translated/order.js:2929 templates/js/translated/order.js:3032 -#: templates/js/translated/order.js:3040 templates/js/translated/order.js:3121 +#: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:3136 templates/js/translated/order.js:3239 +#: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 -#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2399 +#: templates/js/translated/stock.js:1787 templates/js/translated/stock.js:2390 msgid "Location" msgstr "" @@ -1034,12 +1041,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 +#: build/templates/build/detail.html:62 order/models.py:663 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1320 templates/js/translated/order.js:1581 -#: templates/js/translated/order.js:2274 templates/js/translated/stock.js:1772 -#: templates/js/translated/stock.js:2476 templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 +#: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:2467 templates/js/translated/stock.js:2599 msgid "Status" msgstr "" @@ -1100,7 +1107,7 @@ msgid "No build outputs have been created for this build order" msgstr "" #: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: part/models.py:3039 msgid "BOM Item" msgstr "" @@ -1235,13 +1242,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:890 +#: build/templates/build/detail.html:131 order/models.py:948 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1598 -#: templates/js/translated/order.js:1884 templates/js/translated/order.js:2290 -#: templates/js/translated/order.js:3310 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2550 templates/js/translated/order.js:1677 +#: templates/js/translated/order.js:1987 templates/js/translated/order.js:2497 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1268,14 +1275,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1069 -#: order/models.py:1165 order/models.py:1299 +#: build/templates/build/detail.html:94 order/models.py:1127 +#: order/models.py:1223 order/models.py:1357 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:370 -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1310,8 +1317,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1005 -#: templates/js/translated/order.js:1321 templates/js/translated/order.js:1926 +#: build/templates/build/detail.html:49 order/models.py:1063 +#: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1325,10 +1332,10 @@ msgstr "" #: build/templates/build/detail.html:80 #: stock/templates/stock/item_base.html:170 -#: templates/js/translated/build.js:1184 +#: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1786 -#: templates/js/translated/stock.js:2615 +#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 +#: templates/js/translated/stock.js:2606 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1337,7 +1344,7 @@ msgstr "" #: build/templates/build/detail.html:126 #: order/templates/order/order_base.html:149 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2450 +#: templates/js/translated/build.js:2518 msgid "Created" msgstr "" @@ -1357,7 +1364,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916 +#: build/templates/build/detail.html:176 templates/js/translated/build.js:1899 msgid "Unallocate stock" msgstr "" @@ -1387,7 +1394,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:177 templates/js/translated/order.js:926 msgid "Order Parts" msgstr "" @@ -1463,8 +1470,8 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:307 build/templates/build/sidebar.html:19 -#: company/templates/company/manufacturer_part.html:149 -#: company/templates/company/manufacturer_part_sidebar.html:7 +#: company/templates/company/manufacturer_part.html:151 +#: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:82 #: order/templates/order/sales_order_detail.html:129 @@ -1478,11 +1485,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:503 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 +#: build/templates/build/detail.html:504 msgid "All untracked stock items have been allocated" msgstr "" @@ -1494,18 +1501,6 @@ msgstr "" msgid "Print Build Orders" msgstr "" -#: build/templates/build/index.html:44 -#: order/templates/order/purchase_orders.html:34 -#: order/templates/order/sales_orders.html:37 -msgid "Display calendar view" -msgstr "" - -#: build/templates/build/index.html:47 -#: order/templates/order/purchase_orders.html:37 -#: order/templates/order/sales_orders.html:40 -msgid "Display list view" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1729,7 +1724,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1411 +#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -2102,7 +2097,7 @@ msgstr "" msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1245 common/models.py:1574 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2283,160 +2278,176 @@ msgid "Display parts in search preview window" msgstr "" #: common/models.py:1429 -msgid "Hide Inactive Parts" +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1430 -msgid "Excluded inactive parts from search preview window" +msgid "Display supplier parts in search preview window" msgstr "" #: common/models.py:1436 -msgid "Search Categories" +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1437 -msgid "Display part categories in search preview window" +msgid "Display manufacturer parts in search preview window" msgstr "" #: common/models.py:1443 -msgid "Search Stock" +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1444 -msgid "Display stock items in search preview window" +msgid "Excluded inactive parts from search preview window" msgstr "" #: common/models.py:1450 -msgid "Hide Unavailable Stock Items" +msgid "Search Categories" msgstr "" #: common/models.py:1451 -msgid "Exclude stock items which are not available from the search preview window" +msgid "Display part categories in search preview window" msgstr "" #: common/models.py:1457 -msgid "Search Locations" +msgid "Search Stock" msgstr "" #: common/models.py:1458 -msgid "Display stock locations in search preview window" +msgid "Display stock items in search preview window" msgstr "" #: common/models.py:1464 -msgid "Search Companies" +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1465 -msgid "Display companies in search preview window" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" #: common/models.py:1471 -msgid "Search Purchase Orders" +msgid "Search Locations" msgstr "" #: common/models.py:1472 -msgid "Display purchase orders in search preview window" +msgid "Display stock locations in search preview window" msgstr "" #: common/models.py:1478 -msgid "Exclude Inactive Purchase Orders" +msgid "Search Companies" msgstr "" #: common/models.py:1479 -msgid "Exclude inactive purchase orders from search preview window" +msgid "Display companies in search preview window" msgstr "" #: common/models.py:1485 -msgid "Search Sales Orders" +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1486 -msgid "Display sales orders in search preview window" +msgid "Display purchase orders in search preview window" msgstr "" #: common/models.py:1492 -msgid "Exclude Inactive Sales Orders" +msgid "Exclude Inactive Purchase Orders" msgstr "" #: common/models.py:1493 -msgid "Exclude inactive sales orders from search preview window" +msgid "Exclude inactive purchase orders from search preview window" msgstr "" #: common/models.py:1499 -msgid "Search Preview Results" +msgid "Search Sales Orders" msgstr "" #: common/models.py:1500 -msgid "Number of results to show in each section of the search preview window" +msgid "Display sales orders in search preview window" msgstr "" #: common/models.py:1506 -msgid "Show Quantity in Forms" +msgid "Exclude Inactive Sales Orders" msgstr "" #: common/models.py:1507 -msgid "Display available part quantity in some forms" +msgid "Exclude inactive sales orders from search preview window" msgstr "" #: common/models.py:1513 -msgid "Escape Key Closes Forms" +msgid "Search Preview Results" msgstr "" #: common/models.py:1514 -msgid "Use the escape key to close modal forms" +msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1520 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1521 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:1527 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:1528 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1534 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1535 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1541 +msgid "Date Format" +msgstr "" + +#: common/models.py:1542 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1556 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1557 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1625 company/forms.py:39 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:917 +#: common/models.py:1632 company/serializers.py:285 +#: company/templates/company/supplier_part.html:263 order/models.py:975 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1633 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1793 common/models.py:1930 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1803 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1808 part/models.py:973 plugin/models.py:105 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2444,67 +2455,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1809 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1823 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1824 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1831 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1832 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1897 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1898 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1906 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1907 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1914 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1915 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1921 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1922 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1931 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1936 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1937 msgid "Was the work on this message finished?" msgstr "" @@ -2558,7 +2569,7 @@ msgstr "" #: company/models.py:104 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:405 msgid "Website" msgstr "" @@ -2654,9 +2665,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 -#: templates/js/translated/company.js:333 -#: templates/js/translated/company.js:517 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:235 +#: templates/js/translated/company.js:389 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2667,8 +2679,10 @@ msgstr "" #: company/models.py:331 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1804 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:648 +#: templates/js/translated/company.js:935 templates/js/translated/order.js:1907 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2698,8 +2712,9 @@ msgstr "" #: company/models.py:427 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:647 -#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 +#: stock/models.py:2195 templates/js/translated/company.js:540 +#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 +#: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" @@ -2710,7 +2725,7 @@ msgstr "" #: company/models.py:434 part/models.py:940 part/models.py:2549 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 -#: templates/js/translated/company.js:653 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" @@ -2723,11 +2738,12 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/templates/company/supplier_part.html:87 order/models.py:310 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1564 +#: templates/js/translated/company.js:254 +#: templates/js/translated/company.js:393 +#: templates/js/translated/company.js:891 templates/js/translated/order.js:1643 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2738,8 +2754,9 @@ msgid "Select supplier" msgstr "" #: company/models.py:556 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1791 -#: templates/js/translated/part.js:227 templates/js/translated/part.js:942 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 +#: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 +#: templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2776,7 +2793,7 @@ msgstr "" #: company/models.py:587 company/templates/company/supplier_part.html:118 #: stock/models.py:631 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1922 +#: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" @@ -2806,7 +2823,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:176 templates/js/translated/company.js:322 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 msgid "Company" msgstr "" @@ -2824,7 +2841,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:321 msgid "Edit Company" msgstr "" @@ -2847,12 +2864,12 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 +#: company/templates/company/company_base.html:86 order/models.py:658 #: order/templates/order/sales_order_base.html:116 stock/models.py:650 #: stock/models.py:651 stock/serializers.py:714 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2251 -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2431 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2871,8 +2888,8 @@ msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 -#: company/templates/company/manufacturer_part_sidebar.html:9 -#: templates/InvenTree/search.html:118 +#: company/templates/company/manufacturer_part_sidebar.html:7 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2886,32 +2903,24 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:31 -#: company/templates/company/detail.html:78 -#: company/templates/company/manufacturer_part.html:132 -#: company/templates/company/manufacturer_part.html:177 -#: part/templates/part/category.html:168 part/templates/part/detail.html:361 -#: part/templates/part/detail.html:390 -msgid "Options" -msgstr "" - #: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:83 +#: company/templates/company/detail.html:84 #: part/templates/part/category.html:176 msgid "Order parts" msgstr "" #: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:88 +#: company/templates/company/detail.html:89 msgid "Delete parts" msgstr "" #: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:90 msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2919,88 +2928,76 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:380 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:382 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:106 +#: company/templates/company/detail.html:107 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:116 +#: company/templates/company/detail.html:117 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 -#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:197 +#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:190 templates/navbar.html:50 +#: templates/js/translated/search.js:275 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:120 +#: company/templates/company/detail.html:121 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:142 +#: company/templates/company/detail.html:143 #: company/templates/company/sidebar.html:20 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 -#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:217 +#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 templates/navbar.html:61 +#: templates/js/translated/search.js:299 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:167 -#: templates/js/translated/build.js:1675 +#: company/templates/company/detail.html:168 +#: templates/js/translated/build.js:1658 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:184 +#: company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:375 -#: company/templates/company/manufacturer_part.html:264 -#: part/templates/part/detail.html:451 -msgid "Delete Supplier Parts?" -msgstr "" - -#: company/templates/company/detail.html:376 -#: company/templates/company/manufacturer_part.html:265 -#: part/templates/part/detail.html:452 -msgid "All selected supplier parts will be deleted" -msgstr "" - #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:47 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 +#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3013,12 +3010,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:565 +#: templates/js/translated/company.js:680 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:566 +#: templates/js/translated/company.js:681 msgid "Delete manufacturer part" msgstr "" @@ -3034,55 +3031,46 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:41 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 -#: templates/InvenTree/search.html:188 templates/navbar.html:48 +#: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:134 +#: company/templates/company/manufacturer_part.html:136 #: part/templates/part/detail.html:363 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:134 -#: company/templates/company/manufacturer_part.html:179 -#: company/templates/company/manufacturer_part.html:303 -#: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 -#: templates/js/translated/helpers.js:32 users/models.py:220 +#: company/templates/company/manufacturer_part.html:136 +#: company/templates/company/manufacturer_part.html:183 +#: part/templates/part/detail.html:364 part/templates/part/detail.html:394 +#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 +#: users/models.py:220 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:164 +#: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 #: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:168 +#: company/templates/company/manufacturer_part.html:170 #: part/templates/part/detail.html:184 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:66 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:179 +#: company/templates/company/manufacturer_part.html:183 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:240 -#: part/templates/part/detail.html:853 +#: company/templates/company/manufacturer_part.html:245 +#: part/templates/part/detail.html:835 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:288 -msgid "Selected parameters will be deleted" -msgstr "" - -#: company/templates/company/manufacturer_part.html:300 -msgid "Delete Parameters" -msgstr "" - #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" msgstr "" @@ -3102,18 +3090,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:615 #: stock/templates/stock/item_base.html:238 -#: templates/js/translated/company.js:790 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1879 +#: templates/js/translated/company.js:907 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1869 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:863 +#: templates/js/translated/company.js:980 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:864 +#: templates/js/translated/company.js:981 msgid "Delete supplier part" msgstr "" @@ -3188,11 +3176,11 @@ msgstr "" #: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:150 +#: templates/InvenTree/search.html:151 #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 -#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1687 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3218,8 +3206,8 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:152 templates/js/translated/search.js:138 -#: templates/js/translated/stock.js:2316 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:41 msgid "Stock Items" msgstr "" @@ -3231,7 +3219,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:208 +#: company/views.py:53 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" @@ -3240,7 +3228,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:167 +#: company/views.py:61 templates/js/translated/search.js:252 msgid "Companies" msgstr "" @@ -3330,313 +3318,313 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:137 msgid "Order description" msgstr "" -#: order/models.py:132 order/models.py:1216 +#: order/models.py:139 order/models.py:1274 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:147 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:154 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:159 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:296 order/models.py:648 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:301 order/models.py:663 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:311 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1573 +#: order/models.py:314 order/templates/order/order_base.html:124 +#: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:314 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:321 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:326 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:327 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:332 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:333 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:339 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:368 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:514 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:659 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:665 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:665 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:670 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1170 -#: templates/js/translated/order.js:2298 templates/js/translated/order.js:2449 +#: order/models.py:673 order/models.py:1228 +#: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:680 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:746 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:750 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:753 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:756 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:878 +#: order/models.py:936 msgid "Item quantity" msgstr "" -#: order/models.py:884 +#: order/models.py:942 msgid "Line item reference" msgstr "" -#: order/models.py:886 +#: order/models.py:944 msgid "Line item notes" msgstr "" -#: order/models.py:891 +#: order/models.py:949 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:909 +#: order/models.py:967 msgid "Context" msgstr "" -#: order/models.py:910 +#: order/models.py:968 msgid "Additional context for this line" msgstr "" -#: order/models.py:918 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:951 +#: order/models.py:1009 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:958 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:964 order/models.py:1046 order/models.py:1068 -#: order/models.py:1164 order/models.py:1299 -#: templates/js/translated/order.js:2905 +#: order/models.py:1022 order/models.py:1104 order/models.py:1126 +#: order/models.py:1222 order/models.py:1357 +#: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:965 order/models.py:1046 +#: order/models.py:1023 order/models.py:1104 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/order.js:885 templates/js/translated/order.js:1542 -#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1856 -#: templates/js/translated/stock.js:2421 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1621 +#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1846 +#: templates/js/translated/stock.js:2412 msgid "Purchase Order" msgstr "" -#: order/models.py:984 +#: order/models.py:1042 msgid "Supplier part" msgstr "" -#: order/models.py:991 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1318 templates/js/translated/order.js:1906 +#: order/models.py:1049 order/templates/order/order_base.html:169 +#: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:992 +#: order/models.py:1050 msgid "Number of items received" msgstr "" -#: order/models.py:999 part/templates/part/prices.html:179 stock/models.py:745 +#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 #: stock/serializers.py:159 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1000 +#: order/models.py:1058 msgid "Unit purchase price" msgstr "" -#: order/models.py:1008 +#: order/models.py:1066 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1078 part/templates/part/part_pricing.html:112 +#: order/models.py:1136 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1079 +#: order/models.py:1137 msgid "Unit sale price" msgstr "" -#: order/models.py:1084 +#: order/models.py:1142 msgid "Shipped quantity" msgstr "" -#: order/models.py:1171 +#: order/models.py:1229 msgid "Date of shipment" msgstr "" -#: order/models.py:1178 +#: order/models.py:1236 msgid "Checked By" msgstr "" -#: order/models.py:1179 +#: order/models.py:1237 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1187 +#: order/models.py:1245 msgid "Shipment number" msgstr "" -#: order/models.py:1194 +#: order/models.py:1252 msgid "Shipment notes" msgstr "" -#: order/models.py:1201 +#: order/models.py:1259 msgid "Tracking Number" msgstr "" -#: order/models.py:1202 +#: order/models.py:1260 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1209 +#: order/models.py:1267 msgid "Invoice Number" msgstr "" -#: order/models.py:1210 +#: order/models.py:1268 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1227 +#: order/models.py:1285 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1230 +#: order/models.py:1288 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1337 order/models.py:1339 +#: order/models.py:1395 order/models.py:1397 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1343 +#: order/models.py:1401 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1345 +#: order/models.py:1403 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1348 +#: order/models.py:1406 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1352 +#: order/models.py:1410 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1358 order/serializers.py:1008 +#: order/models.py:1416 order/serializers.py:1008 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1361 +#: order/models.py:1419 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1362 +#: order/models.py:1420 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1370 +#: order/models.py:1428 msgid "Line" msgstr "" -#: order/models.py:1378 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1437 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1391 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1392 +#: order/models.py:1450 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1395 +#: order/models.py:1453 msgid "Enter stock allocation quantity" msgstr "" @@ -3842,7 +3830,12 @@ msgstr "" msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:235 +#: order/templates/order/order_base.html:187 +#: order/templates/order/sales_order_base.html:194 +msgid "Total cost could not be calculated" +msgstr "" + +#: order/templates/order/order_base.html:243 msgid "Edit Purchase Order" msgstr "" @@ -3873,9 +3866,9 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 -#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 +#: templates/js/translated/build.js:579 templates/js/translated/build.js:1972 #: templates/js/translated/order.js:833 templates/js/translated/order.js:1265 -#: templates/js/translated/order.js:2524 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3939,7 +3932,7 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:239 +#: order/templates/order/purchase_order_detail.html:235 msgid "Add Order Line" msgstr "" @@ -3962,7 +3955,7 @@ msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: order/templates/order/sales_order_base.html:250 +#: order/templates/order/sales_order_base.html:258 msgid "Complete Sales Order" msgstr "" @@ -3971,7 +3964,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2264 +#: templates/js/translated/order.js:2471 msgid "Customer Reference" msgstr "" @@ -3981,7 +3974,7 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:222 +#: order/templates/order/sales_order_base.html:230 msgid "Edit Sales Order" msgstr "" @@ -3995,7 +3988,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4123,7 +4116,7 @@ msgid "Part Category" msgstr "" #: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 #: users/models.py:38 msgid "Part Categories" msgstr "" @@ -4134,7 +4127,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 -#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99 +#: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:39 msgid "Parts" msgstr "" @@ -4212,7 +4205,7 @@ msgstr "" #: part/models.py:842 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 -#: templates/js/translated/stock.js:1669 +#: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" @@ -4326,7 +4319,7 @@ msgid "Test with this name already exists for this part" msgstr "" #: part/models.py:2462 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1284 +#: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" @@ -4458,7 +4451,7 @@ msgid "BOM quantity for this BOM item" msgstr "" #: part/models.py:2778 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 +#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" @@ -4492,7 +4485,7 @@ msgid "BOM line checksum" msgstr "" #: part/models.py:2794 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1009 +#: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" @@ -4503,7 +4496,7 @@ msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" #: part/models.py:2800 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" @@ -4519,35 +4512,35 @@ msgstr "" msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:3006 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:3028 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:3040 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:3048 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:3059 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:3063 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:3063 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:3095 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4724,6 +4717,11 @@ msgstr "" msgid "New Part" msgstr "" +#: part/templates/part/category.html:168 part/templates/part/detail.html:361 +#: part/templates/part/detail.html:392 +msgid "Options" +msgstr "" + #: part/templates/part/category.html:172 msgid "Set category" msgstr "" @@ -4912,46 +4910,46 @@ msgstr "" msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:378 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:392 +#: part/templates/part/detail.html:394 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:628 +#: part/templates/part/detail.html:610 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:672 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:680 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:783 +#: part/templates/part/detail.html:765 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:916 +#: part/templates/part/detail.html:898 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:928 +#: part/templates/part/detail.html:910 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:940 +#: part/templates/part/detail.html:922 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1029 +#: part/templates/part/detail.html:1011 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -5094,8 +5092,8 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:508 -#: templates/js/translated/company.js:765 +#: templates/js/translated/company.js:623 +#: templates/js/translated/company.js:882 #: templates/js/translated/model_renderers.js:192 #: templates/js/translated/part.js:581 templates/js/translated/part.js:658 msgid "Inactive" @@ -5111,7 +5109,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3336 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5126,7 +5124,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 msgid "Can Build" msgstr "" @@ -5184,7 +5182,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:963 msgid "No supplier pricing available" msgstr "" @@ -5304,7 +5302,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 msgid "Supplier Cost" msgstr "" @@ -5543,7 +5541,7 @@ msgstr "" msgid "Barcode associated with Stock Item" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:61 msgid "Label printing failed" msgstr "" @@ -5785,10 +5783,10 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:79 #: stock/models.py:655 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 -#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 +#: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:115 templates/js/translated/order.js:3022 -#: templates/js/translated/order.js:3111 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:115 templates/js/translated/order.js:3229 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5809,7 +5807,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1590 templates/js/translated/stock.js:2349 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2340 msgid "Date" msgstr "" @@ -5828,7 +5826,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725 -#: templates/js/translated/stock.js:2598 +#: templates/js/translated/stock.js:2589 msgid "Serial" msgstr "" @@ -5948,7 +5946,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:713 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1826 +#: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" @@ -6228,11 +6226,11 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2742 +#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2733 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465 +#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1455 msgid "Add Test Result" msgstr "" @@ -6390,7 +6388,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:1710 +#: templates/js/translated/build.js:1693 msgid "No location set" msgstr "" @@ -6419,7 +6417,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1842 +#: templates/js/translated/stock.js:1832 msgid "Last Updated" msgstr "" @@ -6503,8 +6501,8 @@ msgstr "" msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 -#: templates/js/translated/search.js:153 users/models.py:40 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 +#: templates/js/translated/search.js:238 users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7348,8 +7346,8 @@ msgstr "" #: templates/about.html:11 templates/about.html:105 #: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 -#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:594 -#: templates/js/translated/modals.js:688 templates/js/translated/modals.js:996 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:595 +#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7621,14 +7619,14 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1446 +#: templates/js/translated/bom.js:1425 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 -#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 msgid "Available" @@ -7663,67 +7661,67 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:197 +#: templates/js/translated/api.js:242 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:198 +#: templates/js/translated/api.js:243 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:217 +#: templates/js/translated/api.js:262 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:218 +#: templates/js/translated/api.js:263 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:226 +#: templates/js/translated/api.js:271 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:227 +#: templates/js/translated/api.js:272 msgid "Error code" msgstr "" @@ -7784,7 +7782,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1057 msgid "Invalid server response" msgstr "" @@ -7866,7 +7864,7 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 -#: templates/js/translated/order.js:709 templates/js/translated/tables.js:53 +#: templates/js/translated/order.js:709 templates/js/translated/tables.js:145 msgid "Format" msgstr "" @@ -7951,84 +7949,84 @@ msgstr "" msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:696 +#: templates/js/translated/bom.js:697 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:845 +#: templates/js/translated/bom.js:824 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:855 +#: templates/js/translated/bom.js:834 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:949 +#: templates/js/translated/bom.js:928 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:964 +#: templates/js/translated/bom.js:943 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:971 +#: templates/js/translated/bom.js:950 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 +#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1082 +#: templates/js/translated/bom.js:1061 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1084 +#: templates/js/translated/bom.js:1063 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1086 +#: templates/js/translated/bom.js:1065 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 +#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:1069 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1451 +#: templates/js/translated/bom.js:1430 msgid "Inherited from parent BOM" msgstr "" @@ -8150,262 +8148,270 @@ msgstr "" msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1138 +#: templates/js/translated/build.js:1133 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1207 +#: templates/js/translated/build.js:1202 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:1209 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1231 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1241 +#: templates/js/translated/build.js:1236 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:3059 +#: templates/js/translated/build.js:1710 templates/js/translated/build.js:2661 +#: templates/js/translated/order.js:3266 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:3060 +#: templates/js/translated/build.js:1712 templates/js/translated/build.js:2662 +#: templates/js/translated/order.js:3267 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1747 +#: templates/js/translated/build.js:1730 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1757 +#: templates/js/translated/build.js:1740 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1782 +#: templates/js/translated/build.js:1765 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1799 +#: templates/js/translated/build.js:1782 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1825 +#: templates/js/translated/build.js:1808 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1827 +#: templates/js/translated/build.js:1810 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3346 +#: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3426 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:1908 templates/stock_table.html:50 +#: templates/js/translated/build.js:1891 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3419 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:756 templates/js/translated/order.js:2586 +#: templates/js/translated/build.js:1933 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:756 templates/js/translated/order.js:2793 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2587 +#: templates/js/translated/build.js:1934 templates/js/translated/order.js:2794 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2535 +#: templates/js/translated/build.js:1983 templates/js/translated/order.js:2742 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2074 +#: templates/js/translated/build.js:2057 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2075 +#: templates/js/translated/build.js:2058 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2601 +#: templates/js/translated/build.js:2072 templates/js/translated/order.js:2808 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2100 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2698 +#: templates/js/translated/build.js:2111 templates/js/translated/order.js:2905 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2775 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:2982 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2297 +#: templates/js/translated/build.js:2280 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2281 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2300 +#: templates/js/translated/build.js:2283 msgid "If a location is specifed, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2301 +#: templates/js/translated/build.js:2284 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2285 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2323 +#: templates/js/translated/build.js:2306 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2363 +#: templates/js/translated/build.js:2413 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629 -#: templates/js/translated/stock.js:2286 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1314 +#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1619 +#: templates/js/translated/stock.js:2277 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2468 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2428 +#: templates/js/translated/build.js:2496 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2476 +#: templates/js/translated/build.js:2544 msgid "No information" msgstr "" -#: templates/js/translated/build.js:2533 +#: templates/js/translated/build.js:2638 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:65 +#: templates/js/translated/company.js:66 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:78 templates/js/translated/company.js:177 +#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:99 +#: templates/js/translated/company.js:100 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:108 -msgid "Delete Manufacturer Part" -msgstr "" - -#: templates/js/translated/company.js:165 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:193 +#: templates/js/translated/company.js:185 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:208 +#: templates/js/translated/company.js:200 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:218 -msgid "Delete Supplier Part" +#: templates/js/translated/company.js:248 +msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:286 +#: templates/js/translated/company.js:263 +msgid "Delete Supplier Parts" +msgstr "" + +#: templates/js/translated/company.js:342 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:363 +#: templates/js/translated/company.js:419 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:372 +#: templates/js/translated/company.js:428 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:443 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:406 -msgid "The following manufacturer parts will be deleted" +#: templates/js/translated/company.js:482 +msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:423 +#: templates/js/translated/company.js:496 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:480 +#: templates/js/translated/company.js:535 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:548 +msgid "Delete Parameters" +msgstr "" + +#: templates/js/translated/company.js:595 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:565 +#: templates/js/translated/company.js:615 +#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 #: templates/js/translated/part.js:650 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:569 +#: templates/js/translated/company.js:619 +#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 #: templates/js/translated/part.js:654 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:631 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:668 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:669 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:688 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:699 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:737 +#: templates/js/translated/company.js:854 msgid "No supplier parts found" msgstr "" @@ -8443,61 +8449,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 -#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 +#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 +#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:355 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:370 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:384 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:398 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:646 +#: templates/js/translated/forms.js:656 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:746 +#: templates/js/translated/forms.js:756 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1238 templates/modals.html:19 +#: templates/js/translated/forms.js:1248 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1671 +#: templates/js/translated/forms.js:1681 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1886 templates/search.html:29 +#: templates/js/translated/forms.js:1896 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2139 +#: templates/js/translated/forms.js:2149 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2605 +#: templates/js/translated/forms.js:2615 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2605 +#: templates/js/translated/forms.js:2615 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2617 +#: templates/js/translated/forms.js:2627 msgid "Select Columns" msgstr "" @@ -8571,62 +8577,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:81 templates/js/translated/modals.js:141 -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 +#: templates/js/translated/modals.js:621 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:82 templates/js/translated/modals.js:140 -#: templates/js/translated/modals.js:687 templates/js/translated/modals.js:995 +#: templates/js/translated/modals.js:83 templates/js/translated/modals.js:141 +#: templates/js/translated/modals.js:688 templates/js/translated/modals.js:996 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:139 +#: templates/js/translated/modals.js:140 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:402 +#: templates/js/translated/modals.js:403 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:561 +#: templates/js/translated/modals.js:562 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:619 +#: templates/js/translated/modals.js:620 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:676 +#: templates/js/translated/modals.js:677 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:947 +#: templates/js/translated/modals.js:948 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:947 +#: templates/js/translated/modals.js:948 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:959 +#: templates/js/translated/modals.js:960 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1057 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1071 +#: templates/js/translated/modals.js:1072 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1073 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1095 +#: templates/js/translated/modals.js:1096 msgid "Error requesting form data" msgstr "" @@ -8824,7 +8830,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2089 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 msgid "Stock Status" msgstr "" @@ -8848,217 +8854,217 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1531 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:2241 +#: templates/js/translated/order.js:1635 templates/js/translated/order.js:2448 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1606 templates/js/translated/order.js:2306 -#: templates/js/translated/order.js:2436 +#: templates/js/translated/order.js:1685 templates/js/translated/order.js:2513 +#: templates/js/translated/order.js:2643 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1680 templates/js/translated/order.js:3478 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1697 templates/js/translated/order.js:3500 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1710 templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1753 +#: templates/js/translated/order.js:1856 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1780 templates/js/translated/order.js:3235 +#: templates/js/translated/order.js:1883 templates/js/translated/order.js:3442 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1834 templates/js/translated/order.js:2036 -#: templates/js/translated/order.js:3260 templates/js/translated/order.js:3745 +#: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1849 templates/js/translated/order.js:2052 -#: templates/js/translated/order.js:3276 templates/js/translated/order.js:3761 +#: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1890 templates/js/translated/order.js:3318 +#: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1949 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1953 templates/js/translated/order.js:3432 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1954 templates/js/translated/order.js:3433 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1955 templates/js/translated/order.js:3437 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2101 templates/js/translated/order.js:3810 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3811 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2103 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2133 templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2154 templates/js/translated/order.js:3863 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2165 templates/js/translated/order.js:3874 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2176 +#: templates/js/translated/order.js:2279 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2217 +#: templates/js/translated/order.js:2392 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2255 +#: templates/js/translated/order.js:2462 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2549 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2345 +#: templates/js/translated/order.js:2552 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2350 +#: templates/js/translated/order.js:2557 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2370 +#: templates/js/translated/order.js:2577 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2387 +#: templates/js/translated/order.js:2594 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2421 +#: templates/js/translated/order.js:2628 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2431 +#: templates/js/translated/order.js:2638 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2455 +#: templates/js/translated/order.js:2662 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2461 +#: templates/js/translated/order.js:2668 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2465 +#: templates/js/translated/order.js:2672 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:2634 +#: templates/js/translated/order.js:2841 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:2685 +#: templates/js/translated/order.js:2892 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2686 +#: templates/js/translated/order.js:2893 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2894 +#: templates/js/translated/order.js:3101 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2975 +#: templates/js/translated/order.js:3182 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2992 +#: templates/js/translated/order.js:3199 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2993 +#: templates/js/translated/order.js:3200 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3036 templates/js/translated/order.js:3125 -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 +#: templates/js/translated/stock.js:1535 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3044 templates/js/translated/order.js:3134 +#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3341 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3416 +#: templates/js/translated/order.js:3623 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3422 +#: templates/js/translated/order.js:3629 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3429 templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3441 +#: templates/js/translated/order.js:3648 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3444 +#: templates/js/translated/order.js:3651 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3526 +#: templates/js/translated/order.js:3733 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3635 +#: templates/js/translated/order.js:3842 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3649 +#: templates/js/translated/order.js:3856 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3885 +#: templates/js/translated/order.js:4092 msgid "No matching lines" msgstr "" @@ -9240,7 +9246,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2247 +#: templates/js/translated/stock.js:2238 msgid "Display as list" msgstr "" @@ -9248,7 +9254,7 @@ msgstr "" msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2266 +#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 msgid "Display as tree" msgstr "" @@ -9256,7 +9262,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2310 +#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 msgid "Path" msgstr "" @@ -9264,12 +9270,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243 +#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244 -#: templates/js/translated/stock.js:1503 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 +#: templates/js/translated/stock.js:1493 msgid "Delete test result" msgstr "" @@ -9390,11 +9396,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:307 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:310 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9554,204 +9560,204 @@ msgstr "" msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1172 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1174 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1189 +#: templates/js/translated/stock.js:1179 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1236 +#: templates/js/translated/stock.js:1226 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1239 +#: templates/js/translated/stock.js:1229 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1255 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1311 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1486 +#: templates/js/translated/stock.js:1476 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1508 +#: templates/js/translated/stock.js:1498 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1537 +#: templates/js/translated/stock.js:1527 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1541 +#: templates/js/translated/stock.js:1531 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1539 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1545 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1722 +#: templates/js/translated/stock.js:1712 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1717 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1720 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:1723 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1735 +#: templates/js/translated/stock.js:1725 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1737 +#: templates/js/translated/stock.js:1727 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1730 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1734 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1736 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1743 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1755 +#: templates/js/translated/stock.js:1745 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1757 +#: templates/js/translated/stock.js:1747 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1761 +#: templates/js/translated/stock.js:1751 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1802 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1894 +#: templates/js/translated/stock.js:1884 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:1922 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2095 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2118 +#: templates/js/translated/stock.js:2109 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2110 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2374 +#: templates/js/translated/stock.js:2365 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/stock.js:2381 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2412 +#: templates/js/translated/stock.js:2403 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/stock.js:2422 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2441 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2468 +#: templates/js/translated/stock.js:2459 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2491 +#: templates/js/translated/stock.js:2482 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2499 +#: templates/js/translated/stock.js:2490 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/stock.js:2566 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2626 templates/js/translated/stock.js:2662 +#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2675 +#: templates/js/translated/stock.js:2666 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2696 +#: templates/js/translated/stock.js:2687 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2697 +#: templates/js/translated/stock.js:2688 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2690 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2700 +#: templates/js/translated/stock.js:2691 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2701 +#: templates/js/translated/stock.js:2692 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2702 +#: templates/js/translated/stock.js:2693 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2706 msgid "Select part to install" msgstr "" @@ -9983,69 +9989,81 @@ msgstr "" msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:50 +#: templates/js/translated/tables.js:70 +msgid "Display calendar view" +msgstr "" + +#: templates/js/translated/tables.js:80 +msgid "Display list view" +msgstr "" + +#: templates/js/translated/tables.js:90 +msgid "Display tree view" +msgstr "" + +#: templates/js/translated/tables.js:142 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:54 +#: templates/js/translated/tables.js:146 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:433 +#: templates/js/translated/tables.js:525 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:436 +#: templates/js/translated/tables.js:528 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:441 +#: templates/js/translated/tables.js:533 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:443 +#: templates/js/translated/tables.js:535 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:443 +#: templates/js/translated/tables.js:535 msgid "to" msgstr "" -#: templates/js/translated/tables.js:443 +#: templates/js/translated/tables.js:535 msgid "of" msgstr "" -#: templates/js/translated/tables.js:443 +#: templates/js/translated/tables.js:535 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:447 templates/navbar.html:102 +#: templates/js/translated/tables.js:539 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:450 +#: templates/js/translated/tables.js:542 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:453 +#: templates/js/translated/tables.js:545 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:456 +#: templates/js/translated/tables.js:548 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:459 +#: templates/js/translated/tables.js:551 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:462 +#: templates/js/translated/tables.js:554 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:465 +#: templates/js/translated/tables.js:557 msgid "All" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index b026d309a0..85753b794b 100644 --- a/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:42\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "Address e API peida nashod" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "تایید" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "تائید حذف" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "" @@ -70,72 +70,73 @@ msgstr "" msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "" msgid "Production" msgstr "" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "" @@ -2625,9 +2643,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2635,16 +2653,16 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "هیچ عملیات کاربر-محوری، مشخص نشده است" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "" @@ -5494,31 +5515,31 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 2d3c0cfdcb..fdfffa1ded 100644 --- a/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:42\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'administration" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "Confirmer" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "Confirmer la suppression" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "Confirmer la suppression de cet élément" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "Entrer le mot de passe" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "Entrer le nouveau mot de passe" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Confirmez le mot de passe" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Confirmer le nouveau mot de passe" @@ -70,72 +70,73 @@ msgstr "Email (encore)" msgid "Email address confirmation" msgstr "Confirmation de l'adresse email" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "Vous devez taper le même e-mail à chaque fois." -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Dupliquer le numéro : {sn}" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "Chaîne de numéro de série vide" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Plage de groupe invalide : {g}" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "Groupe invalide : {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Séquence de groupe invalide : {g}" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Invalide/aucun groupe {group}" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "Aucun numéro de série trouvé" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "Fichier manquant" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "Lien externe manquant" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "Pièce jointe" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "Sélectionnez un fichier à joindre" msgid "Link" msgstr "Lien" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "Lien vers une url externe" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "Commentaire" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "Utilisateur" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "date de chargement" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "Le nom de fichier ne doit pas être vide" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "Répertoire de pièce jointe invalide" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Le nom de fichier contient le caractère illégal '{c}'" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "Extension manquante du nom de fichier" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "Une pièce jointe avec ce nom de fichier existe déjà" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "Erreur lors du renommage du fichier" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "Choix invalide" msgid "Name" msgstr "Nom" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "Nom" msgid "Description" msgstr "Description" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "parent" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "Nom du fichier" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "Fichier de données" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "Sélectionnez le fichier de données à envoyer" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "Format de fichier non supporté" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "Fichier trop volumineux" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "Pas de colonnes trouvées dans le fichier" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "Par de lignes de données trouvées dans le fichier" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "Pas de lignes de données fournies" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "Pas de colonne de données fournie" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonne requise manquante : {name}" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonne duliquée : '{col}'" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "Tchèque" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "Allemand" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "Grec" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "Anglais" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "Espagnol" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "Espagnol (Mexique)" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "Farsi / Perse" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "Français" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "Hébreu" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "Hongrois" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "Italien" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "Japonais" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "Coréen" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "Néerlandais" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "Norvégien" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "Polonais" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "Portugais" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "Portugais (Brésilien)" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "Russe" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "Suédois" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "Thaïlandais" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "Turc" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "Vietnamien" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "Chinois" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "Backend d'email non configuré" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "Échec des contrôles de santé du système" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "En attente" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "Placé" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "Terminé" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "Annulé" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "Perdu" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "Retourné" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Expédié" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "Attention requise" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "Endommagé" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "Détruit" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "Rejeté" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "Reçu contre bon de commande" msgid "Production" msgstr "Fabrication" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Code de devise invalide" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "Caractère invalide dans le nom de la pièce" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "L'IPN doit correspondre au modèle de regex {pat}" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "La référence doit correspondre au modèle {pattern}" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "Caractère invalide dans le nom ({x})" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "La valeur de surplus ne doit pas être négative" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "Le surplus ne doit pas dépasser 100%" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Valeur invalide pour le dépassement" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "Supprimer cet élément" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "Cochez la case pour confirmer la suppression de l'élément" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Modifier les informations utilisateur" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Définir le mot de passe" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "Les mots de passe doivent correspondre" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "Informations système" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "Choix invalide pour la fabrication parente" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "Ordres de Fabrication" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "Référence" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "Brève description de la fabrication" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Fabrication parente" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "BuildOrder associé a cette fabrication" msgid "Part" msgstr "Pièce" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "Bon de commande de référence" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "Emplacement d'origine" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Sélectionner l'emplacement à partir duquel le stock doit être pris pour cette construction (laisser vide pour prendre à partir de n'importe quel emplacement de stock)" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "Emplacement cible" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "Sélectionnez l'emplacement où les éléments complétés seront stockés" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "Quantité a fabriquer" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "Nombre de stock items à construire" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "Articles terminés" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "Nombre d'articles de stock qui ont été terminés" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "État de la construction" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "Date d'achèvement cible" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Date cible pour l'achèvement de la construction. La construction sera en retard après cette date." -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Date d'achèvement" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "achevé par" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "Émis par" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "Responsable" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "Utilisateur responsable de cette commande de construction" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "Notes" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "Notes de construction supplémentaires" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "L'élément de construction doit spécifier une sortie de construction, la pièce maîtresse étant marquée comme objet traçable" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "L'article du stock sélectionné n'a pas été trouvé dans la BOM" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "Assemblage" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "Construction à laquelle allouer des pièces" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "Construction à laquelle allouer des pièces" msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "Stock d'origine de l'article" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "Stock d'origine de l'article" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "Stock d'origine de l'article" msgid "Quantity" msgstr "Quantité" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "Stock de destination de l'article" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "Sortie d'assemblage" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "L'ordre de production ne correspond pas à l'ordre parent" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "La pièce en sortie ne correspond pas à la pièce de l'ordre de construction" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "Cet ordre de production a déjà été produit" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "Cet ordre de production n'est pas complètement attribué" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "Quantité entière requise pour les pièces à suivre" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantité entière requise, car la facture de matériaux contient des pièces à puce" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Numéros de série" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "Allouer automatiquement les numéros de série" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "Affecter automatiquement les éléments requis avec les numéros de série correspondants" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "Le numéro de série suivant existe déjà" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "Une liste d'ordre de production doit être fourni" msgid "Location" msgstr "Emplacement" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "Emplacement des ordres de production achevés" msgid "Status" msgstr "État" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "Accepter l'allocation incomplète" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "Compléter les sorties si le stock n'a pas été entièrement alloué" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "Supprimer le stock alloué" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "Accepter les non-alloués" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepter les articles de stock qui n'ont pas été complètement alloués à cette ordre de production" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepter que tous les ordres de production n'aient pas encore été achevés" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "La quantité nécessaire n'a pas encore été complétée" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "Aucune sortie de construction n'a été créée pour cet ordre de construction" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "Sortie d'assemblage" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "Emplacements exclus" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "Stock requis pour la commande de construction" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "Terminé" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "Stock d'origine" msgid "Stock can be taken from any available location." msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible." -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Destination" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "Supprimer l'ordre de construction" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "Format de fichier non pris en charge : {ext.upper()}" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "Erreur de lecture du fichier (encodage invalide)" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "Erreur de lecture du fichier (format invalide)" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "Erreur de lecture du fichier (dimension incorrecte)" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "Erreur de lecture du fichier (les données pourraient être corrompues)" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "Fichier" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "Sélectionner un fichier à téléverser" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "{name.title()} Fichier" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "Sélectionner le fichier {name} à uploader" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "Valeur du paramètre" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "La valeur choisie n'est pas une option valide" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "La valeur doit être une valeur booléenne" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "La valeur doit être un nombre entier" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "La chaîne de caractères constituant la clé doit être unique" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "Pas de groupe" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "Redémarrage nécessaire" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "Un paramètre a été modifié, ce qui nécessite un redémarrage du serveur" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "Chaîne de caractères descriptive pour l'instance serveur" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "Utiliser le nom de l'instance" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "Utiliser le nom de l’instance dans la barre de titre" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "Nom de la société" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "Nom de société interne" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "URL de base" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "URL de base pour l'instance serveur" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "Devise par défaut" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "Devises par défaut" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "Autoriser le téléchargement d'images distantes et de fichiers à partir d'URLs externes" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Support des code-barres" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "Activer le support du scanner de code-barres" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "Copier les données des paramètres de la pièce" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "Copier les données de test de la pièce" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "Copier les données de test par défaut lors de la duplication d'une pièce" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "Copier les templates de paramètres de catégorie" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "Les composantes peuvent être assemblées à partir d'autres composants par défaut" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Composant" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "Les composantes peuvent être utilisées comme sous-composants par défaut" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "Achetable" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Vendable" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Traçable" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "Afficher l'import dans les vues" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "Afficher l'assistant d'importation pour certaine vues de produits" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "Afficher le prix dans les formulaires" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "Afficher le prix de la pièce dans certains formulaires" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "Afficher le prix dans la BOM" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "Inclure les informations de prix dans les tableaux de la BOM" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "Historique des prix" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "Créer un stock initial" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "Créer le stock initial lors de la création d'une pièce" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "Rapports de test" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "jours" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "Valeur préfixe référence commande client" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "Préfixe des commandes d'achats" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "Valeur préfixe référence bon de commande" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "Email requis" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Prix" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "Actif" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "Composantes importées" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Étape précédente" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "URL de l'image" @@ -2597,7 +2615,7 @@ msgstr "Point de contact" msgid "Link to external company information" msgstr "Lien externe vers les informations de l'entreprise" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "" @@ -2625,9 +2643,9 @@ msgstr "est fabricant" msgid "Does this company manufacture parts?" msgstr "Cette entreprise fabrique-t-elle des pièces?" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "Devise" @@ -2635,16 +2653,16 @@ msgstr "Devise" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "Fabricant" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "Sélectionner un fabricant" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "Valeur" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "Fournisseur" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "coût de base" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "Commande multiple" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "Ajouter une nouvelle image" msgid "Download image from URL" msgstr "Télécharger l'image depuis l'URL" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "Commandes d'achat" @@ -2950,8 +2969,8 @@ msgstr "Nouvelle commande achat" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "Ventes" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "Liste des Fournisseurs" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "Supprimer les pièces du fournisseur" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "Supprimer" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "Tarif" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "Éléments en stock" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "Nouveau Fournisseur" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "Nouveau Fabricant" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "Clients" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "Nouveaux Clients" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "Entreprises" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "Nouvelle Entreprise" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "Activé" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "Hauteur [mm]" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "Filtres" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "Description de la commande" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "Créé par" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "Notes de commande" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "expédié par" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "La commande ne peut pas être terminée car aucune pièce n'a été assignée" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "Seule une commande en attente peut être marquée comme terminée" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "La commande ne peut pas être terminée car il y a des envois incomplets" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "Contexte" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "Commande" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "Commande" msgid "Purchase Order" msgstr "Commande d’achat" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "Reçu" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "Ligne" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "Article" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "Devise *" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "Champ d'identifiant unique" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "Une quantité entière doit être fournie pour les pièces tracables" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "Aucune correspondance trouvée pour les numéros de série suivants" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "Expéditions en attente" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "Prix introuvable" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "En Commande" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "Catégories de composants" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Composantes" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "Les prochains numéros de série disponibles sont" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "Le prochain numéro de série disponible est" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "Le numéro de série le plus récent est" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "Description du composant" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "Catégorie" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "Révision" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Requis" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "Données" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "ID de composant" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "Aucun" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Aucune action spécifiée" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "Aucune action correspondante trouvée" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "Le paramètre barcode_data doit être fourni" @@ -5494,31 +5515,31 @@ msgstr "Aucune correspondance trouvée pour les données du code-barres" msgid "Match found for barcode data" msgstr "Correspondance trouvée pour les données du code-barres" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "Vous devez fournir le paramètre stockitem" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "Aucun article d'inventaire correspondant trouvé" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "Le code-barres correspond déjà à l'objet StockItem" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "Le code-barres correspond déjà à l'objet Stock Location" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "Le code-barres correspond déjà à l'objet Part" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "Le code-barres correspond déjà à l'objet Stock Item" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "Code-barres associé à l'article en stock" @@ -5526,226 +5547,226 @@ msgstr "Code-barres associé à l'article en stock" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "Non du Plugin" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "Numérique" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "Aucun objet valide n'a été fourni au modèle" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "Nom du modèle" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "Filtres de composants" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "Extrait " -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "Elément" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "Résultat" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "Propriétaire" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "Sélectionner un propriétaire" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "Il existe déjà un article en stock avec ce numéro de série" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "La quantité doit être de 1 pour un article avec un numéro de série" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Le numéro de série ne peut pas être défini si la quantité est supérieure à 1" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "Les numéros de série doivent être une liste de nombres entiers" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Les numéros de série existent déja : {exists}" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "Les numéros de série ne peuvent pas être assignés à cette pièce" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "Cocher la case de confirmation" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "Ajouter un lien" msgid "Add Attachment" msgstr "Ajouter une pièce jointe" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "Redémarrage du serveur nécessaire" @@ -7704,31 +7733,27 @@ msgstr "Code d'erreur non géré" msgid "Error code" msgstr "Code d’erreur" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "Aucune pièce jointe trouvée" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "Modifier la pièce jointe" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "Confirmer la suppression" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "Supprimer la pièce jointe" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "Date d'upload" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "Modifier la pièce jointe" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "Supprimer la pièce jointe" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "Commander des stocks" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "Commande en retard" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "Livré au client" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "Acheter du stock" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "Calculer le prix" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "Supprimer" msgid "Add Stock" msgstr "Ajouter du stock" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "Ajouter" @@ -10250,51 +10276,51 @@ msgstr "Utilisateurs" msgid "Select which users are assigned to this group" msgstr "Sélectionner quels utilisateurs sont assignés à ce groupe" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "Les utilisateurs suivants sont membres de plusieurs groupes:" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "Informations personnelles" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "Droits" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "Dates importantes" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "Droit défini" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "Groupe" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "Vue" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "Droit de voir des éléments" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "Droit d'ajouter des éléments" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "Modifier" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "Droit de modifier des élément" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 561693838a..d1f475ce45 100644 --- a/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:43\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "אשר" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "אשר מחיקה" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "אשר מחיקה" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "הכנס סיסמה" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "הכנס סיסמה חדשה" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "אישור סיסמה" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "אשר סיסמה חדשה" @@ -70,72 +70,73 @@ msgstr "אימייל (שנית)" msgid "Email address confirmation" msgstr "אישור כתובת אימייל" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "חובה לרשום את אותו אימייל בכל פעם." -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "קבוצה שגויה: {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "קבוצה שגויה / לא נמצאה {group}" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "מספרים סידוריים לא נמצאו" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "קובץ חסר" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "קובץ מצורף" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "בחר קובץ לצירוף" msgid "Link" msgstr "קישור" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "קישור חיצוני" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "הערה" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "משתמש" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "תאריך העלאה" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "חובה למלא שם קובץ" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "תיקיית קובץ שגויה" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "שם הקובץ מכיל תו '{c}' שאינו חוקי" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "שגיאה בשינוי שם פריט" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "בחירה שגויה" msgid "Name" msgstr "שם" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "שם" msgid "Description" msgstr "תיאור" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "תיאור (לא חובה)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "מקור" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "שם קובץ" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "גרמנית" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "יוונית" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "אנגלית" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "ספרדית" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "ספרדית (מקסיקנית)" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "צרפתית" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "עברית" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "איטלקית" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "יפנית" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "קוריאנית" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "הולנדית" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "נורווגית" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "פולנית" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "רוסית" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "שוודית" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "תאילנדית" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "טורקית" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "ווייטנאמית" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "סינית" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "בהמתנה" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "מוקם" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "הושלם" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "מבוטל" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "אבד" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "הוחזר" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "נשלח" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "מצב טוב" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "דרושה תשומת לב" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "פגום" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "הרוס" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "נדחה" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "" msgid "Production" msgstr "ייצור" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "קוד מטבע לא מאושר" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "מחק פריט" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "ערוך מידע אודות המשתמש" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "הגדר סיסמא" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "הסיסמאות מוכרחות להיות תואמות" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "מידע אודות המערכת" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "מקט" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "תיאור קצר אודות הבנייה" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "מקור הבנייה" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "רכיב" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "בחר רכיב לבנייה" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "כמות בניה" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "" msgid "Quantity" msgstr "כמות" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "מספרים סידוריים" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "" @@ -2625,9 +2643,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2635,16 +2653,16 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "לא פורטה הפעולה" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "פעולה מבוקשת לא נמצאה" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "הפרמטר barcode_data מוכרח להיות תקין" @@ -5494,31 +5515,31 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index d8f48e45b9..0b2f4b37a3 100644 --- a/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:43\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "API funkciót nem találom" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "A hiba részleteit megtalálod az admin panelen" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "Dátum megadása" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "Megerősítés" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "Törlés megerősítése" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "Tétel törlés megerősítése" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "Jelszó megadása" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "Új jelszó megadása" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Jelszó megerősítése" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Új jelszó megerősítése" @@ -70,72 +70,73 @@ msgstr "Email (újra)" msgid "Email address confirmation" msgstr "Email cím megerősítés" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "Mindig ugyanazt az email címet kell beírni." -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Duplikált sorozatszám: {sn}" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "Üres sorozatszám" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Érvénytelen csoport tartomány: {g}" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "Érvénytelen csoport: {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Érvénytelen csoport szekvencia: {g}" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Érvénytelen vagy nemlétező csoport {group}" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "Nem található sorozatszám" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "A megadott számú egyedi sorozatszám ({s}) meg kell egyezzen a darabszámmal ({q})" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "Hiányzó fájl" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "Hiányzó külső link" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "Melléklet" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" msgid "Link" msgstr "Link" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "Link külső URL-re" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "Megjegyzés" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "Felhasználó" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "feltöltés dátuma" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "A fájlnév nem lehet üres" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "Érvénytelen melléklet mappa" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Fájlnévben érvénytelen karakter van '{c}'" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "Fájlnév kiterjesztése hiányzik" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "Ilyen fájlnévvel már létezik melléklet" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "Hiba a fájl átnevezésekor" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "Érvénytelen választás" msgid "Name" msgstr "Név" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "Név" msgid "Description" msgstr "Leírás" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "Leírás (opcionális)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "szülő" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "Fájlnév" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "Adat fájl" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "Fájl kiválasztása feltöltéshez" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "Nem támogatott fájltípus" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "Fájl túl nagy" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "Nem találhatók oszlopok a fájlban" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "Nincsenek adatsorok a fájlban" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "Nincs adatsor megadva" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "Nincs adat oszlop megadva" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Szükséges oszlop hiányzik: '{name}'" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikált oszlop: '{col}'" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "Cseh" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "Német" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "Görög" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "Angol" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "Spanyol (Mexikói)" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "Fárszi/Perzsa" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "Francia" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "Héber" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "Magyar" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "Olasz" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "Japán" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "Koreai" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "Holland" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "Norvég" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "Lengyel" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "Portugál" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "Portugál (Brazíliai)" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "Orosz" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "Svéd" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "Tháj" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "Török" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "Vietnámi" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "Kínai" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "Email backend nincs beállítva" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "InvenTree rendszer állapotának ellenőrzése sikertelen" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "Függőben" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "Kiküldve" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "Kész" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "Törölve" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "Elveszett" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "Visszaküldve" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Kiszállítva" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "Rendben" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "Ellenőrizendő" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "Sérült" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "Megsemmisült" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "Elutasított" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "Megrendelésre érkezett" msgid "Production" msgstr "Folyamatban" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Érvénytelen pénznem kód" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "Érvénytelen karakter az alkatrész névben" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN mezőnek egyeznie kell a '{pat}' mintával" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "Referenciának egyeznie kell a '{pattern}' mintával" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "Érvénytelen karakter ({x}) a névben" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "Túlszállítás nem lehet negatív" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "Túlszállítás nem lehet több mint 100%" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Érvénytelen érték a túlszállításra" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "Tétel törlése" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "Jelöld a törlés megerősítéséhez" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Felhasználói információ módosítása" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Jelszó beállítása" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "A jelszavaknak egyeznie kell" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "Rendszerinformáció" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "Hibás választás a szülő gyártásra" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Gyártási utasítás" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "Gyártási utasítások" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "Azonosító" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "Gyártás rövid leírása" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Szülő gyártás" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" msgid "Part" msgstr "Alkatrész" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "Válassz alkatrészt a gyártáshoz" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "Vevői rendelés azonosító" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "Vevői rendelés amihez ez a gyártás hozzá van rendelve" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "Forrás hely" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Válassz helyet ahonnan készletet vegyünk el ehhez a gyártáshoz (hagyd üresen ha bárhonnan)" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "Cél hely" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "Válassz helyet ahol a kész tételek tárolva lesznek" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "Gyártási mennyiség" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "Gyártandó készlet tételek száma" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "Kész tételek" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "Elkészült készlet tételek száma" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "Gyártási állapot" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "Befejezés cél dátuma" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít majd." -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Elkészítés dátuma" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "elkészítette" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "Kiállította" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "Felelős" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "Felhasználó aki felelős ezért a gyártási utasításért" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "Külső link" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "Megjegyzések" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "Extra gyártási megjegyzések" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "Gyártási kimenet nem egyezik a gyártási utasítással" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő darab egyedi követésre kötelezett" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "Kiválasztott készlet tétel nem található az alkatrészjegyzékben" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "Gyártás" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "Gyártás amihez készletet foglaljunk" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "Gyártás amihez készletet foglaljunk" msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "Forrás készlet tétel" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "Forrás készlet tétel" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "Forrás készlet tétel" msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "Cél készlet tétel" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "Gyártás kimenet" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "Gyártási kimenet nem egyezik a szülő gyártással" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "Kimeneti alkatrész nem egyezik a gyártási utasításban lévő alkatrésszel" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "Ez a gyártási kimenet már elkészült" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Egész számú mennyiség szükséges, mivel az alkatrészjegyzék egyedi követésre kötelezett alkatrészeket tartalmaz" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Sorozatszámok" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "Sorozatszámok automatikus hozzárendelése" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "Szükséges tételek automatikus hozzárendelése a megfelelő sorozatszámokkal" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "A következő sorozatszámok már léteznek" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "A gyártási kimenetek listáját meg kell adni" msgid "Location" msgstr "Hely" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,134 +1051,134 @@ msgstr "A kész gyártási kimenetek helye" msgid "Status" msgstr "Állapot" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "Hiányos foglalás elfogadása" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "Lefoglalt készlet levonása" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "Az összes lefoglalt tétel levonása a készletről" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "Befejezetlen kimenetek törlése" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "A nem befejezett gyártási kimenetek törlése" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "Kiosztatlanok elfogadása" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a gyártási utastáshoz" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "Fogadd el hogy a szükséges számú gyártási kimenet nem lett elérve" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "Szükséges gyártási mennyiség nem lett elérve" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "Ehhez a gyártási utasításhoz nem készült kimenet" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "Gyártás kimenet" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part ugyanarra az alkatrészre kell mutasson mint a gyártási utasítás" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "Gyártási kimenetet meg kell adni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "Ez a készlet tétel már le lett foglalva ehhez a gyártási kimenethez" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Készlet hely ahonnan az alkatrészek származnak (hagyd üresen ha bárhonnan)" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "Hely kizárása" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "Készlet tételek kizárása erről a kiválasztott helyről" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "Felcserélhető készlet" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "A különböző helyeken lévő készlet egyenrangúan felhasználható" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "Készlet helyettesítés" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "A gyártási utasításhoz készlet szükséges" @@ -1242,7 +1244,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Még nincs lefoglalva a szükséges készlet" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1275,8 +1277,8 @@ msgid "Completed" msgstr "Kész" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1317,7 +1319,7 @@ msgstr "Készlet forrás" msgid "Stock can be taken from any available location." msgstr "Készlet bármely rendelkezésre álló helyről felhasználható." -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Cél" @@ -1509,929 +1511,945 @@ msgstr "Gyártási utasítás részletei" msgid "Completed Outputs" msgstr "Befejezett kimenetek" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "Gyártási utasítás törlése" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "Nem támogatott fájl formátum: {ext.upper()}" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "Fájl beolvasási hiba (hibás encoding)" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "Fájl beolvasási hiba (hibás formátum)" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "Fájl beolvasási hiba (hibás dimenzió)" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "Fájl beolvasási hiba (sérült lehet)" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "Fájl" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "Feltöltendő fájl kiválasztása" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "{name.title()} Fájl" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "{name} fájl kiválasztása feltöltéshez" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny)" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "Beállítás értéke" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "A kiválasztott érték nem egy érvényes lehetőség" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "Az érték bináris kell legyen" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "Az érték egész szám kell legyen" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "Kulcs string egyedi kell legyen" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "Nincs csoport" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "Újraindítás szükséges" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "Egy olyan beállítás megváltozott ami a kiszolgáló újraindítását igényli" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "Kiszolgáló példány neve" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "String leíró a kiszolgáló példányhoz" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "Példány név használata" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "Példány név használata a címsorban" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "Verzió infók megjelenítésének tiltása" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "Cég neve" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "Belső cégnév" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "Kiindulási URL" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "Kiindulási URL a kiszolgáló példányhoz" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "Letöltés URL-ről" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "Képek és fájlok letöltésének engedélyezése külső URL-ről" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Vonalkód támogatás" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "Vonalkód olvasó engedélyezése" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "Webkamerás vonalkód olvasás" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "Webkamerás kódolvasás engedélyezése a böngészőből" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "IPN reguláris kifejezés" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "Többször is előforduló IPN engedélyezése" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "Azonos IPN használható legyen több alkatrész esetén is" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "IPN szerkesztésének engedélyezése" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "IPN megváltoztatásánsak engedélyezése az alkatrész szerkesztése közben" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "Alkatrészjegyzék adatok másolása" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "Alkatrész másoláskor az alkatrészjegyzék adatokat is másoljuk alapból" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "Alkatrész paraméterek másolása" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "Alkatrész másoláskor a paramétereket is másoljuk alapból" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "Alkatrész teszt adatok másolása" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "Alkatrész másoláskor a tesztek adatait is másoljuk alapból" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "Kategória paraméter sablonok másolása" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Sablon" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Gyártmány" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Összetevő" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "Beszerezhető" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Értékesíthető" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Követésre kötelezett" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuális" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "Importálás megjelenítése a nézetekben" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "Import segéd megjelenítése néhány alkatrész nézetben" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "Ár megjelenítése a formokon" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "Alkatrész árak megjelenítése néhány formon" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "Ár megjelenítése az alkatrészjegyzékben" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "Árinformációk megjelenítése az alkatrészjegyzék táblákban" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "Ártörténet megjelenítése" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "Alkatrész ártörténet megjelenítése" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "Kezdeti készlet létrehozása" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "Kezdeti készlet megadása az alkatrész létrehozásakor" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "Belső ár alkatrészjegyzék árként" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Belső ár használata (ha van) az alkatrészjegyzék árszámításában" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "Teszt riportok" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "nap" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "Tuajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "Gyártási utasítás azonosító előtagja" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "Előtag értéke a gyártási utasítás azonosítóhoz" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "Gyártási utasítás azonosító reguláris kifejezés" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "Gyártási utasítás azonosítóra illeszkedő reguláris kifejezés" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "Vevői rendelés azonosító előtagja" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "Előtag értéke a vevői rendelés azonosítóhoz" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "Szállítmány automatikus létrehozása az új vevő rendelésekhez" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "Beszerzési rendelés azonosító előtagja" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "Előtag értéke a beszerzési rendelés azonosítóhoz" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "Csoport amihez a frissen regisztrált felhasználók hozzá lesznek rendelve" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "Alkatrész kategória értesítések megjelenítése a főoldalon" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "Legfrissebb alkatrész szám" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "Főoldalon megjelenítendő legújabb alkatrészek" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "Jóváhagyásra váró alkatrészjegyzékek megjelenítése a főoldalon" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "Legutóbb megváltozott alkatrészek megjelenítése a főoldalon" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "Legfrissebb készlet mennyiség" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "Főoldalon megjelenítendő legújabb készlet tételek száma" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "Gyártáshoz szükséges készletek megjelenítése a főoldalon" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "Késésben lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "Késésben lévő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF címkék megjelenítése a böngészőben letöltés helyett" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF riport megjelenítése a böngészőben letöltés helyett" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "Inaktív alkatrészek kihagyása a keresési előnézet találataiból" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "Alkatrész kategóriák megjelenítése a keresési előnézetben" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "Készlet tételek megjelenítése a keresési előnézetben" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nem elérhető készlet kihagyása a keresési előnézet találataiból" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "Beszerzési rendelések megjelenítése a keresési előnézetben" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktív beszerzési rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "Vevői rendelések megjelenítése a keresési előnézetben" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktív vevői rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "A keresési előnézetben megjelenítendő eredmények száma szekciónként" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "Rendelkezésre álló alkatrész mennyiség megjelenítése néhány formon" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "ESC billentyű használata a modális formok bezárásához" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "A menü pozíciója mindig rögzítve a lap tetején" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "Árlépcső mennyiség" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Ár" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2439,107 +2457,107 @@ msgstr "Webhook neve" msgid "Active" msgstr "Aktív" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "Token" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "Titok" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "Fejléc" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "Törzs" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Fájl feltöltése" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Mezők egyeztetése" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "Tételek egyeztetése" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "Mezők egyeztetése sikertelen" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "Importált alkatrészek" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Előző lépés" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "Kép URL" @@ -2598,7 +2616,7 @@ msgstr "Kapcsolattartó" msgid "Link to external company information" msgstr "Link a külső céginformációhoz" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "Kép" @@ -2626,9 +2644,9 @@ msgstr "gyártó-e" msgid "Does this company manufacture parts?" msgstr "Gyárt ez a cég alkatrészeket?" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "Pénznem" @@ -2636,16 +2654,16 @@ msgstr "Pénznem" msgid "Default currency used for this company" msgstr "Cég által használt alapértelmezett pénznem" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "Válassz alkatrészt" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2657,11 +2675,11 @@ msgstr "Válassz alkatrészt" msgid "Manufacturer" msgstr "Gyártó" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Gyártó kiválasztása" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2671,58 +2689,58 @@ msgstr "Gyártó kiválasztása" msgid "MPN" msgstr "MPN" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Gyártói cikkszám" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "URL link a gyártói alkatrészhez" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "Gyártói alkatrész leírása" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "Paraméter neve" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "Érték" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "Paraméter értéke" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "Mértékegységek" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "Paraméter mértékegység" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészre kell hivatkoznia" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2733,67 +2751,67 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr msgid "Supplier" msgstr "Beszállító" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "SKU" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "Gyártói alkatrész kiválasztása" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "URL link a beszállítói alkatrészhez" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "Megjegyzés" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "alap költség" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "Csomagolás" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "Alkatrész csomagolás" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "többszörös" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "Többszörös rendelés" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "utoljára módosítva" @@ -2848,9 +2866,9 @@ msgstr "Új kép feltöltése" msgid "Download image from URL" msgstr "Kép letöltése URL-ről" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2873,7 +2891,7 @@ msgstr "Kép feltöltése" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "Beszállítói alkatrészek" @@ -2904,6 +2922,7 @@ msgid "Delete Parts" msgstr "Alkatrész törlés" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "Gyártói alkatrészek" @@ -2928,8 +2947,8 @@ msgstr "Beszállítói készlet" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "Beszerzési rendelések" @@ -2951,8 +2970,8 @@ msgstr "Új beszerzési rendelés" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "Vevői rendelések" @@ -2979,7 +2998,7 @@ msgstr "Cég megjegyzések" msgid "Supplier List" msgstr "Beszállítók listája" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3012,7 +3031,7 @@ msgid "No manufacturer information available" msgstr "Nincs elérhető gyártói információ" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3027,7 +3046,7 @@ msgstr "Beszállítói alkatrész törlése" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "Törlés" @@ -3071,7 +3090,7 @@ msgid "Assigned Stock Items" msgstr "Hozzárendelt készlet tételek" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3189,180 +3208,180 @@ msgstr "Árazás" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "Készlet tételek" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "Új beszállító" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "Új gyártó" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "Vevők" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "Új vevő" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "Cégek" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "Új cég" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "Kép letöltése" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "A kép mérete meghaladja a maximum megengedett letöltés méretét" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "Érvénytelen válasz: {code}" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "A megadott URL nem egy érvényes kép fájl" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "Címke neve" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "Címke leírása" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "Címke" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "Címke sablon fájl" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "Engedélyezve" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "Címke sablon engedélyezve" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "Szélesség [mm]" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "Címke szélessége, mm-ben" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "Magasság [mm]" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "Címke magassága, mm-ben" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "Fájlnév minta" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "Minta a címke fájlnevek előállításához" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)," -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "Szűrők" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "Rendelés leírása" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "Készítette" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "Rendelés jegyzetek" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "érkeztette" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "Várható beérkezés" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Várt teljesítési dátuma a megrendelésnek. Ezután már késésben lévőnek számít majd." -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" @@ -3370,94 +3389,94 @@ msgstr "Rendelés teljesítési dátuma" msgid "Part supplier must match PO supplier" msgstr "Az alkatrész beszállítója meg kell egyezzen a beszerzési rendelés beszállítójával" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "Cég akinek a tételek értékesítésre kerülnek" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Cél dátum a rendelés teljesítéséhez. Ez után számít majd késettnek." -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "szállította" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "A rendelés nem teljesíthető mivel nincs hozzárendelve alkatrész" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "Csak függő rendelés jelölhető késznek" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "A rendelés nem jelölhető késznek mivel nem teljesített szállítások vannak" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "A rendelés nem jelölhető késznek mivel nem teljesített sortételek vannak" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "Cél szállítási dátuma ennek a sortételnek" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "Kontextus" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "törölve" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "Rendelés" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3468,182 +3487,182 @@ msgstr "Rendelés" msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "Beérkezett" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "Mit szeretne a vevő hol tároljuk ezt az alkatrészt?" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "Szállítás megjegyzései" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "Nem foglalható készlet egy másik fajta alkatrész sortételéhez" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "Nem foglalható készlet egy olyan sorhoz amiben nincs alkatrész" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "Készlet tétel túlfoglalva" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítással" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "Szállítás nem egyezik a vevői rendeléssel" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "Sor" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítás azonosító" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "Tétel" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "Pénznem" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "A beszállítónak egyeznie kell a beszerzési rendelésben lévővel" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "Sortétel" @@ -3651,7 +3670,7 @@ msgstr "Sortétel" msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" @@ -3671,59 +3690,59 @@ msgstr "Vonalkód hash" msgid "Unique identifier field" msgstr "Egyedi azonosító mező" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "Szállítás nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" @@ -3971,7 +3990,8 @@ msgid "Pending Shipments" msgstr "Függő szállítmányok" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "Műveletek" @@ -3979,201 +3999,202 @@ msgstr "Műveletek" msgid "New Shipment" msgstr "Új szállítmány" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "Beszállítói alkatrészek egyeztetése" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "Vevő rendelés nem találhtó" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "Nem található ár" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "A {part} egységára {price}-ra módosítva" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "Érvényes" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "Nullánál nagyobb kell legyen" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "Érvényes mennyiségnek kell lennie" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "Hely megadása a kezdeti alkarész készlethez" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "Ez a mező kötelező" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Alapértelmezett hely" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "Teljes készlet" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "Elérhető készlet" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "Rendelve" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "Alkatrész kategória kiválasztása" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "Paraméter sablon hozzáadása az azonos szintű kategóriákhoz" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "Paraméter sablon hozzáadása az összes kategóriához" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "Alapértelmezett kulcsszavak" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "Alkatrész kategóriák" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Alkatrészek" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "A '{p1}' alkatrész a '{p2}' alkatrészjegyzékében már szerepel (rekurzív)" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "A következő szabad sorozatszámok" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "A következő szabad sorozatszám" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "A legutóbbi sorozatszám" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "Azonos IPN nem engedélyezett az alkatrész beállításokban" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "Alkatrész leírása" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "Kulcsszavak" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredményekben" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4182,432 +4203,432 @@ msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredmén msgid "Category" msgstr "Kategória" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "IPN" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb.)" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "Változat" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "Lejárati idő (napban) ennek az alkatrésznek a készleteire" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "Minimális készlet" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "Az alkatrész raktározási mértékegységei" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "Gyártható-e ez az alkatrész más alkatrészekből?" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "Felhasználható-e ez az alkatrész más alkatrészek gyártásához?" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "Kell-e külön követni az egyes példányait ennek az alkatrésznek?" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "Rendelhető-e ez az alkatrész egy külső beszállítótól?" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "Értékesíthető-e önmagában ez az alkatrész a vevőknek?" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ez egy virtuális nem megfogható alkatrész, pl. szoftver vagy licenc?" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "Alkatrész megjegyzései - támogatja a Markdown formázást" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "Teszt sablont csak követésre kötelezett alkatrészhez lehet csinálni" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "Erre az alkatrészre már létezik teszt ilyen névvel" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Kötelező" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően érték legyen rendelve?" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően fájl melléklet legyen rendelve?" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "Érvénytelen karakter ({c}) a sablon nevében" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "Paraméter mértékegysége" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "Adat" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "Alkatrész ID" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "Alkatrész neve" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "Alkatrész IPN" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "Szint" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "Opcionális" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Becsült gyártási veszteség (abszolút vagy százalékos)" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "Örökölt" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ezt az alkatrészjegyzék tételt az alkatrész változatok alkatrészjegyzékei is öröklik" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Alkatrészváltozatok készlet tételei használhatók ehhez az alkatrészjegyzék tételhez" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "A mennyiség egész szám kell legyen a követésre kötelezett alkatrészek esetén" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "A helyettesítő alkatrész nem lehet ugyanaz mint a fő alkatrész" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "1.rész" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "2.rész" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "Hiba a kapcsolat létrehozása közben: ellenőrizd hogy az alkatrész nem kapcsolódik-e saját magához és azt hogy a kapcsolat egyedi" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "Meglévő alkatrészjegyzék tételek törlése a másolás előtt" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "Sablon alkatrészektől örökölt alkatrészjegyzék tételek használata" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "Helyettesítő alkatrészek másolása az alkatrészjegyzék tételek másolásakor" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "Meglévő alkatrészjegyzék tételek törlése a feltöltés előtt" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "Alacsony készlet értesítés" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent" @@ -5092,7 +5113,7 @@ msgstr "Alkatrész részletei" msgid "This part is a variant of %(link)s" msgstr "Ez az alkatrész egy változata a %(link)s alkatrésznek" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "Készleten" @@ -5385,20 +5406,20 @@ msgstr "Alkatrész változat létrehozása" msgid "Create a new variant of template '%(full_name)s'." msgstr "Új változat létrehozása a '%(full_name)s' sablonból." -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "Ismeretlen adatbázis" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "{title} v{version}" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "Alkatrész kategória beállítása" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "Állítsd be {n} alkatrész kategóriáját" @@ -5411,79 +5432,79 @@ msgstr "Azonosítók egyeztetése" msgid "None" msgstr "Egyik sem" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "Alkatrész QR kódja" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "Válassz képet az alkatrészhez" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "Alkatrész képe frissítve" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "Az alkatrész képe nem található" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "Alkatrész törlés megerősítése" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "Alkatrész törölve" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "Alkatrész árak" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "Alkatrész paraméter sablon létrehozása" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "Alkatrész paraméter sablon módosítása" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "Alkatrész paraméter sablon törlése" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "Alkatrész kategória törlése" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "Alkatrész kategória törölve" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "Kategória paraméter sablon létrehozása" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "Kategória paraméter sablon szerkesztése" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "Kategória paraméter sablon törlése" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "A környezeted egy elavult git verziót használ. Ez megakadályozza hogy az InvenTree betöltse a plugin részleteit." -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Nincs megadva művelet" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "Nincs egyező művelet" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "Meg kell adni a barcode_data paramétert" @@ -5495,31 +5516,31 @@ msgstr "Nincs egyező vonalkód" msgid "Match found for barcode data" msgstr "Egyezés vonalkódra" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "Meg kell adni a stockitem paramétert" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "Nincs egyező készlet" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "Vonalkód már egyezik a készlet tétellel" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "Vonalkód már egyezik a készlet hellyel" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "Vonalkód már egyezik az alkatrésszel" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "Vonalkód hash már egyezik a készlet tétellel" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "Készlet tételhez tartozó vonalkód" @@ -5527,226 +5548,226 @@ msgstr "Készlet tételhez tartozó vonalkód" msgid "Label printing failed" msgstr "Címkenyomtatás sikertelen" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "InvenTree fejlesztők" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "Integrált kimenő értesítési módszerek" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "Email értesítések engedélyezése" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "Email küldés engedélyezése esemény értesítésekre" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "Plugin meta adatok" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "JSON meta adat mező, külső pluginok számára" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "Plugin beállítás" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "Plugin beállítások" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "Kulcs" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "Plugin kulcsa" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "PluginNeve a pluginnak" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "Aktív-e a plugin" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "Módszer" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "Nincs szerző" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "Nincs dátum" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "Beszerzési rendelések engedélyezése" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "Beszerzési rendelések funkcióinak engedélyezése az InvenTree felületén" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "API kulcs" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "Kulcs szükséges a külső API eléréséhez" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "Numerikus" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "Egy numerikus beállítás" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "Választás beállításai" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "Egy beállítás több választási lehetőséggel" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "Forrás URL" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "Csomag forrása - ez lehet egy registry vagy VCS útvonal" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "Csomag neve" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "Plugin csomag neve - verzió megjelölést is tartalmazhat" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "Bővítmény telepítésének megerősítése" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "Ez telepíti ezt a plugint az aktuális példányra. A példány karbantartási módba megy." -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "Tlepítés nincs megerősítve" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "Vagy csomag nevet vagy URL-t meg kell adni" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "Nincs érvényes objektum megadva a sablonhoz" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "A '{template}' sablon fájl hiányzik vagy nem érhető el" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "Sablon neve" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "Riport sablon fájl" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "Riport sablon leírása" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "Riport verziószáma (automatikusan nő)" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "Minta a riport fájlnevek előállításához" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "Riport sablon engedélyezve" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Készlet lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "Beépített tesztekkel együtt" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "Gyártmányba beépített készlet tételek teszt eredményeivel együtt" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "Gyártás szűrők" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Gyártás lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "Alkatrész szűrők" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "Megrendelés lekérdezés szűrők" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "Vevő rendelés lekérdezés szűrők" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "Részlet" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "Eszköz" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "Asset fájl leírása" @@ -5763,7 +5784,7 @@ msgid "Stock Item Test Report" msgstr "Készlet tétel teszt riport" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5777,12 +5798,12 @@ msgid "Test Results" msgstr "Teszt eredmények" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "Teszt" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "Eredmény" @@ -5812,362 +5833,362 @@ msgstr "Beépített tételek" msgid "Serial" msgstr "Sorozatszám" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "Tulajdonos" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "Tulajdonos kiválasztása" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "Létezik már készlet tétel ilyen a sorozatszámmal" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "A alkatrész típus ('{pf}') {pe} kell legyen" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "Mennyiség 1 kell legyen a sorozatszámmal rendelkező tételnél" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Nem lehet sorozatszámot megadni ha a mennyiség több mint egy" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "A tétel nem tartozhat saját magához" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "A tételnek kell legyen gyártási azonosítója ha az is_bulding igaz" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "Gyártási azonosító nem ugyanarra az alkatrész objektumra mutat" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "Szülő készlet tétel" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "Kiindulási alkatrész" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételhez" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Készlet hely" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "Beépítve ebbe" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "Ez a tétel be van építve egy másik tételbe?" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "Készlet mennyiség" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "Forrás gyártás" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "Gyártás ehhez a készlet tételhez" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "Forrás beszerzési rendelés" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "Beszerzés ehhez a készlet tételhez" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "Cél vevői rendelés" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "Lejárati dátum" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Készlet tétel lejárati dátuma. A készlet lejártnak tekinthető ezután a dátum után" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "Törlés ha kimerül" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "Készlet tétel törlése ha kimerül" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "Készlet tétel megjegyzések" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "Egy egység beszerzési ára a beszerzés időpontjában" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "A mennyiség nem lépheti túl a készletet ({n})" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "A sorozatszám egész számok listája kell legyen" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Ezek a sorozatszámok már léteznek: {exists}" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "A készlet tétel ugyanarra a beszállítói alkatrészre kell vonatkozzon" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "Készlet tétel nem mozgatható mivel nincs készleten" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "Teszt neve" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "Tesztek megjegyzései" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "Beszerzési ára ennek a készlet tételnek" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "Add meg hány készlet tételt lássunk el sorozatszámmal" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "Készlet tétel nem elérhető" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "Különböző beszállítói alkatrészekből származó készletek összevonásának engedélyezése" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "Különböző állapotú készletek összevonásának engedélyezése" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -6484,7 +6505,7 @@ msgid "Sublocations" msgstr "Alhelyek" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "Készlethelyek" @@ -6536,7 +6557,7 @@ msgstr "Foglalások" msgid "Child Items" msgstr "Gyermek tételek" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "Készlet tétel konvertálása" @@ -6561,55 +6582,55 @@ msgstr "Ez a művelet nem vonható vissza könnyen" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "Biztosan törölni akarod ezt a készlettörténeti bejegyzést?" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "Készlet hely QR kódja" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "Visszavétel készletre" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "Adj meg egy érvényes helyet" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "Készlet tétel vevőtől visszahozva" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "Minden teszt adat törlése" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "Teszt adat törlésének megerősítése" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "Klikkeld be a megerősítő mezőt" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "Készlet tétel QR kódja" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "Készlethely törlése" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "Készlet tétel törlése" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "Készlettörténet bejegyzés törlése" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "Készlettörténet bejegyzés szerkesztése" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "Készlettörténet bejegyzés hozzáadása" @@ -6883,7 +6904,7 @@ msgid "Install Plugin" msgstr "Plugin Telepítése" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "Admin" @@ -7569,6 +7590,14 @@ msgstr "Link hozzáadása" msgid "Add Attachment" msgstr "Melléklet hozzáadása" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "Kiszolgáló újraindítása szükséges" @@ -7705,31 +7734,27 @@ msgstr "Nem kezelt hibakód" msgid "Error code" msgstr "Hiba kód" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "Nem találhatók mellékletek" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "Melléklet szerkesztése" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "Törlés megerősítése" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "Melléklet törlése" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "Feltöltés dátuma" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "Melléklet szerkesztése" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "Melléklet törlése" @@ -7946,6 +7971,7 @@ msgid "Variant stock allowed" msgstr "Készletváltozatok engedélyezve" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "Nincs szabad" @@ -8174,20 +8200,20 @@ msgstr "Vannak helyettesítő alkatrészek" msgid "Quantity Per" msgstr "Szükséges/db" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "Nincs elegendő" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "Van elegendő" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "Lefoglalva" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "Gyártási készlet" @@ -8195,7 +8221,7 @@ msgstr "Gyártási készlet" msgid "Order stock" msgstr "Készlet rendelés" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "Lefoglalt készlet" @@ -8847,15 +8873,15 @@ msgstr "Rendelés késésben" msgid "Items" msgstr "Tételek" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "Sortétel másolása" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "Sortétel törlése" @@ -8868,13 +8894,13 @@ msgid "Total" msgstr "Összesen" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "Egységár" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "Teljes ár" @@ -8887,39 +8913,39 @@ msgstr "Ez a sortétel késésben van" msgid "Receive line item" msgstr "Sortétel bevételezése" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "Sortétel másolása" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "Sortétel törlése" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "Sor másolása" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "Sor szerkesztése" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "Sor törlése" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "Sor másolása" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "Sor szerkesztése" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "Sor törlése" @@ -9012,39 +9038,39 @@ msgstr "Vevőnek kiszállítva" msgid "Stock location not specified" msgstr "Készlethely nincs megadva" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "Készletrendelés" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "Árszámítás" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "Nem törölhető mivel a tételek ki lettek szállítva" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "Nem törölhető mivel tételek vannak lefoglalva" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "Egységár módosítása" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "Nincs egyező sortétel" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "Nincsenek egyező sorok" @@ -9376,11 +9402,11 @@ msgstr "Vevői rendelések kiválasztása" msgid "Sales Order(s) must be selected before printing report" msgstr "Vevői rendelés(eke)t ki kell választani a riport nyomtatás előtt" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "Eredmények összezárása" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "Eredmények eltávolítása" @@ -9516,7 +9542,7 @@ msgstr "Kivesz" msgid "Add Stock" msgstr "Készlet növelése" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "Hozzáad" @@ -10251,51 +10277,51 @@ msgstr "Felhasználók" msgid "Select which users are assigned to this group" msgstr "Válaszd ki mely felhasználók tartoznak ehhez a csoporthoz" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "A kövekező felhasználók több csoportnak is tagjai:" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "Személyes adatok" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "Jogosultságok" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "Fontos dátumok" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "Jogosultságok" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "Csoport" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "Nézet" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "Jogosultság tételek megtekintéséhez" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "Jogosultság tételek hozzáadásához" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "Módosítás" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "Jogosultság tételek szerkesztéséhez" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index c9c6e13ad4..a17273f562 100644 --- a/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:42\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "Konfirmasi" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "Konfirmasi penghapusan" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "Konfirmasi penghapusan item" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "Masukkan sandi" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "Masukkan kata sandi baru" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Konfirmasikan kata sandi" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Konfirmasi sandi baru" @@ -70,72 +70,73 @@ msgstr "Email (ulang)" msgid "Email address confirmation" msgstr "Konfirmasi alamat email" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "" msgid "Production" msgstr "" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "" @@ -2625,9 +2643,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2635,16 +2653,16 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Tidak ada tindakan yang ditentukan" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "Aksi tidak ditemukan" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "" @@ -5494,31 +5515,31 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 722c2cc185..bd09b9d497 100644 --- a/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:43\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "Endpoint API non trovato" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "Conferma" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "Conferma eliminazione" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "Conferma eliminazione elementi" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "Inserire la password" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "Inserire una nuova password" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Conferma la password" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Conferma la nuova password" @@ -70,72 +70,73 @@ msgstr "Email (ancora)" msgid "Email address confirmation" msgstr "Conferma indirizzo email" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "È necessario digitare la stessa e-mail ogni volta." -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Seriale duplicato: {sn}" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "Numero seriale vuoto" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "Gruppo non valido: {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Gruppo {group} invalido o inesistente" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "Nessun numero di serie trovato" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Il numero dei numeri seriali univoci ({s}) deve essere uguale alla quantità ({q})" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "File mancante" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "Link esterno mancante" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "Allegato" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "Seleziona file da allegare" msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "Link a URL esterno" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "Commento" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "Utente" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "data caricamento" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "Il nome del file non deve essere vuoto" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "Directory allegati non valida" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Il nome del file contiene caratteri non validi '{c}'" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "Nome file estensione mancante" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "Esiste già un allegato con questo nome di file" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "Errore nella rinominazione del file" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "Scelta non valida" msgid "Name" msgstr "Nome" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "Nome" msgid "Description" msgstr "Descrizione" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "Descrizione (opzionale)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "genitore" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "Nome del file" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "File dati" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "Seleziona un file per il caricamento" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "Formato file non supportato" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "File troppo grande" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "Nessun colonna trovata nel file" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonna richiesta mancante: '{name}'" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonna duplicata: '{col}'" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "Ceco" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "Tedesco" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "Greco" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "Inglese" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "Spagnolo" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "Spagnolo (Messicano)" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "Farsi / Persiano" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "Francese" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "Ebraico" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "Ungherese" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "Giapponese" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "Olandese" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "Norvegese" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "Polacco" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "Portoghese" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "Portoghese (Brasile)" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "Svedese" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "Thailandese" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "Cinese" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "Server di posta non configurato" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "Controlli di sistema InvenTree falliti" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "In attesa" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "Inviato" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "Completo" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "Annullato" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "Perso" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "Reso" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Spedito" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "Attenzione necessaria" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "Danneggiato" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "Distrutto" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "Respinto" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "Ricevuto contro l'ordine di acquisto" msgid "Production" msgstr "Produzione" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Non è un codice valuta valido" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "Carattere non valido nel nome del file" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN deve corrispondere al modello regex {pat}" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "Il campo deve corrispondere con il modello {pattern}" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "Carattere illegale nel nome ({x})" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "Il sovra-valore non può essere negativo" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "L'eccesso non deve superare il 100%" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "Cancella elemento" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "Spunta la casella per confermare l'eliminazione dell'elemento" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Modifica informazioni utente" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Imposta Password" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "Le password devono coincidere" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "Informazioni sistema" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Ordine di Produzione" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "Ordini di Produzione" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "Riferimento" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "Articolo" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "Selezionare parte da produrre" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "Numero di riferimento ordine di vendita" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "Posizione Di Origine" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleziona la posizione da cui prelevare la giacenza (lasciare vuoto per prelevare da qualsiasi posizione di magazzino)" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "Posizione Della Destinazione" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "Seleziona il luogo in cui gli articoli completati saranno immagazzinati" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "Quantità Produzione" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "Articoli completati" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "Data di creazione" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "Data completamento obiettivo" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Data di completamento" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "Completato da" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "Rilasciato da" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "Responsabile" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "Note" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "Articolo in giacenza selezionato non trovato nel BOM" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "Produzione" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "Origine giacenza articolo" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "Origine giacenza articolo" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "Origine giacenza articolo" msgid "Quantity" msgstr "Quantità" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "Installa in" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Codice Seriale" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "I seguenti numeri di serie sono già esistenti" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "Posizione" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "Posizione per gli output di build completati" msgid "Status" msgstr "Stato" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "Completato" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "Lo stock può essere prelevato da qualsiasi posizione disponibile." -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Destinazione" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "Elimina Ordine Build" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "Formato file non supportato: {ext.upper()}" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "Errore nella lettura del file (codifica non valida)" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "Errore nella lettura del file (formato non valido)" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "Errore nella lettura del file (dimensione errata)" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "Errore di lettura del file (i dati potrebbero essere danneggiati)" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "Seleziona file da caricare" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "Seleziona il file {name} da caricare" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "Valore impostazioni" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "Il valore specificato non è un opzione valida" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "Il valore deve essere un valore booleano" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "Il valore deve essere un intero" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "La stringa chiave deve essere univoca" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "Nessun gruppo" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "Riavvio richiesto" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "È stata modificata un'impostazione che richiede un riavvio del server" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "Descrittore stringa per l'istanza del server" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "Utilizza nome istanza" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "Usa il nome dell'istanza nella barra del titolo" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "Nome azienda" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "Nome interno dell'azienda" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "URL Base" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "URL di base per l'istanza del server" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "Valuta predefinita" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "Valuta predefinita" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "Scarica dall'URL" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "Consenti il download di immagini e file remoti da URL esterno" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Supporto Codice A Barre" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "Abilita supporto scanner codici a barre" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "Schema di espressione regolare per l'articolo corrispondente IPN" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "Consenti duplicati IPN" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "Permetti a più articoli di condividere lo stesso IPN" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "Permetti modifiche al part number interno (IPN)" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "Consenti di modificare il valore del part number durante la modifica di un articolo" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "Copia I Dati Della distinta base dell'articolo" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "Copia I Dati Parametro dell'articolo" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "Copia i dati dei parametri di default quando si duplica un articolo" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "Copia i dati di prova di default quando si duplica un articolo" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "Copia Template Parametri Categoria" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Assemblaggio" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Componente" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "Acquistabile" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Vendibile" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Tracciabile" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuale" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "Mostra l'importazione nelle viste" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "Mostra il prezzo nei moduli" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "Mostra il prezzo dell'articolo in alcuni moduli" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "Mostra il prezzo nella BOM" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "Includi le informazioni sui prezzi nelle tabelle BOM" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "Crea giacenza iniziale" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "Crea giacenza iniziale sulla creazione articolo" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "Prezzo interno come BOM-Price" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Utilizzare il prezzo interno (se impostato) nel calcolo del prezzo BOM" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "Stampa di prova" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "giorni" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "Referenza ordine d'acquisto" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Prezzo" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "Attivo" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Carica file" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Abbina Campi" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "Elementi corrispondenti" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "Corrispondenza campi non riuscita" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "Articoli importati" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Passaggio Precedente" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "URL Immagine" @@ -2597,7 +2615,7 @@ msgstr "Punto di contatto" msgid "Link to external company information" msgstr "Collegamento alle informazioni aziendali esterne" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "Immagine" @@ -2625,9 +2643,9 @@ msgstr "è un produttore" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "Valuta" @@ -2635,16 +2653,16 @@ msgstr "Valuta" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "Articolo di base" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "Seleziona articolo" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "Seleziona articolo" msgid "Manufacturer" msgstr "Produttore" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "Seleziona Produttore" msgid "MPN" msgstr "Codice articolo produttore (MPN)" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Codice articolo produttore" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "Descrizione articolo costruttore" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "Codice articolo produttore" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "Nome parametro" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "Valore" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "Valore del parametro" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "Unità" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "Unità parametri" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo msgid "Supplier" msgstr "Fornitore" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "Selezionare un produttore" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "Nota" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "costo base" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "Confezionamento" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "Imballaggio del pezzo" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "multiplo" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "Ordine multiplo" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "Carica nuova immagine" msgid "Download image from URL" msgstr "Scarica immagine dall'URL" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "Carica immagine" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "Articoli fornitore" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "Cancella articoli" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "Giacenza Fornitore" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "Ordine di acquisto" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "Elenco dei fornitori" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "Elimina articolo fornitore" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "Elimina" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "Prezzi" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "Articoli in magazzino" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "Nuovo Fornitore" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "Nuovo Produttore" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "Clienti" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "Nuovo cliente" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "Aziende" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "Nuova Azienda" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "Download Immagine" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "La dimensione dell'immagine supera la dimensione massima consentita per il download" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "Risposta non valida: {code}" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "L'URL fornito non è un file immagine valido" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "Nome etichetta" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "Descrizione etichetta" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "Etichetta" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "File modello etichetta" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "Abilitato" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "Modello di etichetta abilitato" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "Larghezza [mm]" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "Altezza [mm]" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "Filtri" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "Descrizione ordine" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "Creato Da" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "Note ordine" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "ricevuto da" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "Data di consegna programmata" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data prevista per la consegna dell'ordine. L'ordine scadrà dopo questa data." -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "Data ordine completato" @@ -3369,94 +3388,94 @@ msgstr "Data ordine completato" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "Specifica la posizione per lo stock iniziale" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Posizione Predefinita" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "Giacenze Totali" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "Disponibilità in magazzino" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "Ordinato" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "Seleziona categoria articolo" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "Keywords predefinite" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "Parole chiave predefinite per gli articoli in questa categoria" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "Categorie Articolo" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Articoli" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "I successivi numeri di serie disponibili sono" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "Il prossimo numero di serie disponibile è" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "Il numero di serie più recente è" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "È Template" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "Variante Di" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "Descrizione articolo" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "Parole Chiave" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" msgid "Category" msgstr "Categoria" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "Revisione" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "Scadenza (in giorni) per gli articoli in giacenza di questo pezzo" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "Scorta Minima" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "Unità di conservazione delle scorte per quest'articolo" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "È una parte virtuale, come un prodotto software o una licenza?" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "Note dell'articolo - supporta la formattazione Markdown" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "Codice Articolo" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "Notifica di magazzino bassa" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "In magazzino" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "Database sconosciuto" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "Imposta categoria articolo" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "Imposta categoria per {n} articoli" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "Elimina categoria" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "La Categoria articoli è stata eliminata" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "Crea Template Parametro Categoria" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "Modifica Modello Parametro Categoria" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "Elimina Modello Parametro Categoria" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Nessuna azione specificata" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "Nessuna azione corrispondente trovata" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "È necessario fornire il parametro barcode_data" @@ -5494,31 +5515,31 @@ msgstr "Nessuna corrispondenza trovata per i dati del codice a barre" msgid "Match found for barcode data" msgstr "Corrispondenza trovata per i dati del codice a barre" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "È necessario fornire il parametro stockitem" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "Nessun elemento corrispondente trovato" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "Nessun oggetto valido fornito nel modello" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "Seriale" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "Seleziona Owner" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "Articolo base" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicazione magazzino" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "Installato In" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "Quantità disponibile" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "Data di Scadenza" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "Elimina al esaurimento" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "Sottoallocazioni" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "Posizioni magazzino" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "QR Code della posizione magazzino" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "Specificare una posizione valida" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "Elimina Posizione di Giacenza" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "Aggiungi allegato" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "È necessario riavviare il server" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "Modifica allegato" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "Elimina allegato" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "Totale" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "Prezzo Unitario" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "Prezzo Totale" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "Spedito al cliente" msgid "Stock location not specified" msgstr "Nessun posizione specificata" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "Prezzo d'acquisto" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "Calcola il prezzo" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "Prendi" msgid "Add Stock" msgstr "Aggiungi giacenza" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "Aggiungi" @@ -10250,51 +10276,51 @@ msgstr "Utenti" msgid "Select which users are assigned to this group" msgstr "Selezionare quali utenti sono assegnati a questo gruppo" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "Gli utenti seguenti sono membri di più gruppi:" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "Informazioni personali" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "Permessi" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "Date Importanti" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "Impostazione autorizzazioni" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "Gruppo" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "Visualizza" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "Autorizzazione a visualizzare gli articoli" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "Autorizzazione ad aggiungere elementi" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "Modificare" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "Permessi per modificare gli elementi" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 2aafd2a969..77167fba40 100644 --- a/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:43\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "確認" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "削除の確認" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "削除の確認" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "パスワードを入力してください" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "新しいパスワードを入力してください。" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "パスワードの確認" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "新しいパスワードの確認" @@ -70,72 +70,73 @@ msgstr "メールアドレス(確認用)" msgid "Email address confirmation" msgstr "メールアドレスの確認" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "毎回同じメールアドレスを入力する必要があります。" -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "重複したシリアル番号: {sn}" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "数量コードが無効です" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "シリアル番号は空です" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "無効なグループ: {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "{group} は無効なグループか、存在しません。" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "シリアル番号が見つかりません" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "ファイルがありません" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "添付ファイル" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "添付ファイルを選択" msgid "Link" msgstr "リンク" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "外部 サイト へのリンク" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "コメント:" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "ユーザー" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "アップロード日時" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "ファイル名は空欄にできません" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "添付ファイルのディレクトリが正しくありません" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "ファイル名に無効な文字'{c}'が含まれています" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "ファイル名に拡張子がありません" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "この名前の貼付ファイルは既に存在します" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "ファイル名の変更に失敗しました" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "無効な選択です" msgid "Name" msgstr "お名前" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "お名前" msgid "Description" msgstr "説明" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "説明 (オプション)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "親" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "ファイル名" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "データファイル" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "アップロードするファイルを選択" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "サポートされていないファイル形式" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "ファイルサイズが大きすぎます" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "ファイルに列が見つかりません" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "ファイルにデータ行がみつかりません" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "データが入力されていません" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "データ列が指定されていません" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "必須の列がありません: {name}" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "{col} 列が重複しています。" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "ドイツ語" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "ギリシャ語" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "英語" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "スペイン語" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "スペイン語(メキシコ)" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "フランス語" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "ヘブライ語" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "ハンガリー語" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "イタリア語" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "日本語" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "韓国語" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "オランダ語" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "ノルウェー語" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "ポーランド語" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "ロシア語" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "スウェーデン語" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "タイ語" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "トルコ語" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "ベトナム語" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "中国語" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "メールアドレスが未設定です" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "InvenTree システムのヘルスチェックに失敗しました" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "処理待ち" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "設置済" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "完了" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "キャンセル済" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "紛失" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "返品済" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "発送済み" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "注意が必要です" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "破損" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "破壊されました" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "却下済み" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "" msgid "Production" msgstr "生産" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "名前の一部に不正な文字が使用されています({x})" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "項目を削除" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "ユーザー情報を編集" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "パスワードを設定" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "システム情報" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "パーツ" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "作成日時" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "メモ" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "パーツを割り当てるためにビルドする" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "パーツを割り当てるためにビルドする" msgid "Stock Item" msgstr "" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "" msgid "Quantity" msgstr "数量" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "ステータス" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "ファイル" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "テンプレート" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "アセンブリ" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "コンポーネント" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "購入可能" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "追跡可能" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "" @@ -2625,9 +2643,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2635,16 +2653,16 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "メーカー・パーツ" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "サプライヤー・パーツ" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "パーツを削除" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "メーカー・パーツ" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "パーツ" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "アクションが指定されていません" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "一致するアクションが見つかりませんでした" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "" @@ -5494,31 +5515,31 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index a62031ed68..288ff8648f 100644 --- a/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:43\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "확인" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "비밀번호를 입력하세요" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "새로운 비밀번호를 입력하세요" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "비밀번호 확인" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "새 비밀번호 확인" @@ -70,72 +70,73 @@ msgstr "이메일 (다시 입력)" msgid "Email address confirmation" msgstr "이메일 주소 확인" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "첨부파일" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "첨부할 파일을 선택하세요" msgid "Link" msgstr "링크" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "외부 URL로 링크" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "사용자" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "업로드 날짜" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "파일명은 비워둘 수 없습니다" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "파일명에 허용되지 않은 문자 '{c}'가 포함되어 있습니다" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "같은 이름의 첨부파일이 이미 존재합니다" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "파일 이름 바꾸기 오류" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "" msgid "Name" msgstr "이름" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "이름" msgid "Description" msgstr "설명" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "설명 (선택 사항)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "파일명" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "파일이 너무 큽니다" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "체코어" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "독일어" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "그리스어" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "영어" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "스페인어" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "스페인어 (멕시코)" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "파르시어/페르시아어" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "프랑스어" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "히브리어" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "헝가리어" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "이탈리아어" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "일본어" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "한국어" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "네덜란드어" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "노르웨이어" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "폴란드어" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "러시아어" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "스웨덴어" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "태국어" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "터키어" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "베트남어" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "중국어" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "취소됨" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "파손됨" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "파괴됨" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "" msgid "Production" msgstr "" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "사용자 정보 수정" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "비밀번호 설정" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "비밀번호가 일치해야 합니다" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "시스템 정보" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "외부 링크" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "" msgid "Quantity" msgstr "수량" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "일련번호" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "위치" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "상태" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "파일" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "업로드할 파일을 선택하세요" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "{name.title()} 파일" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "업로드할 {name} 파일을 선택하세요" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "재시작 필요" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "회사명" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "기본 통화" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "기본 통화" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "URL에서 다운로드" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "바코드 지원" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "구입 가능" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "판매 가능" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "디버그 모드" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "페이지 크기" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "PDF 보고서 기본 페이지 크기" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "SSO 활성화" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "로그인 페이지에서 SSO 활성화" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "이메일 필요" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "두 번 보내기" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "파일 업로드" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "이미지 URL" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "이미지" @@ -2625,9 +2643,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2635,16 +2653,16 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "새 이미지 업로드" msgid "Download image from URL" msgstr "URL에서 이미지 다운로드" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "이미지 업로드" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "삭제" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "신규 고객" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "새 회사" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "이미지 다운로드" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "너비 [mm]" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "높이 [mm]" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "바코드 해시" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "이미 사용 중인 바코드입니다" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "데이터" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "" @@ -5494,31 +5515,31 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "키" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "API 키" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "일련번호가 이미 존재합니다" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "관리자" @@ -7568,6 +7589,14 @@ msgstr "링크 추가" msgid "Add Attachment" msgstr "첨부파일 추가" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "서버 재시작 필요" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "단가" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 14f6562b33..477ef05c5b 100644 --- a/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:43\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "Error details kunnen worden gevonden in het admin scherm" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "Bevestigen" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "Bevestig verwijdering" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "Bevestig item verwijdering" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "Voer wachtwoord in" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "Voer een nieuw wachtwoord in" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Wachtwoord bevestigen" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Nieuw wachtwoord bevestigen" @@ -70,72 +70,73 @@ msgstr "E-mailadres (opnieuw)" msgid "Email address confirmation" msgstr "E-mailadres bevestiging" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "Er moet hetzelfde e-mailadres ingevoerd worden." -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Duplicaat serienummer: {sn}" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "Leeg serienummer" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Ongeldig groepsbereik: {g}" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "Ongeldige groep: {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Ongeldig groepsbereik: {g}" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Ongeldige/geen groep {group}" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "Geen serienummers gevonden" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Hoeveelheid van unieke serienummers ({s}) moet overeenkomen met de hoeveelheid ({q})" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "Ontbrekend bestand" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "Externe link ontbreekt" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "Bijlage" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "Bestand als bijlage selecteren" msgid "Link" msgstr "Link" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "Link naar externe URL" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "Opmerking" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "Gebruiker" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "uploaddatum" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "Bestandsnaam mag niet leeg zijn" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "Foute bijlagemap" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Bestandsnaam bevat illegale teken '{c}'" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "Bestandsnaam mist extensie" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "Bijlage met deze bestandsnaam bestaat al" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "Fout bij hernoemen bestand" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "Ongeldige keuze" msgid "Name" msgstr "Naam" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "Naam" msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "bovenliggende" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "Bestandsnaam" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "Data bestand" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "Selecteer een bestand om te uploaden" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "Niet ondersteund bestandstype" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "Bestand is te groot" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "Geen kolommen gevonden in het bestand" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "Geen data rijen gevonden in dit bestand" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "Geen data rijen opgegeven" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "Geen gegevenskolommen opgegeven" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Verplichte kolom ontbreekt: '{name}'" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dubbele kolom: '{col}'" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "Tsjechisch" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "Duits" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "Grieks" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "Engels" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "Spaans" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "Spaans (Mexicaans)" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "Farsi / Perzisch" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "Frans" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "Hebreeuws" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "Hongaars" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "Italiaans" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "Japans" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "Koreaans" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "Nederlands" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "Noors" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "Pools" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "Portugees" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "Portugees (Braziliaans)" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "Zweeds" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "Thais" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "Turks" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "Vietnamees" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "Chinees" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "E-mailbackend niet geconfigureerd" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "InvenTree gezondsheidschecks mislukt" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "Bezig" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "Geplaatst" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "Voltooid" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "Geannuleerd" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "Kwijt" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "Retour" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Verzonden" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "Aandacht nodig" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "Beschadigd" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "Verwoest" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "Afgewezen" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "Ontvangen tegen inkoopopdracht" msgid "Production" msgstr "Productie" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Geen geldige valutacode" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "Ongeldig teken in onderdeelnaam" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN moet overeenkomen met regex-patroon {pat}" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "Referentie moet overeenkomen met patroon {pattern}" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "Illegaal teken in naam ({x})" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "Overschotwaarde mag niet negatief zijn" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "Overschot mag niet groter zijn dan 100%" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Ongeldige waarde voor overschot" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "Verwijder Artikel" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "Selectievakje aanvinken om verwijdering van artikel te bevestigen" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Gebruikersgegevens bewerken" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Wachtwoord instellen" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "Wachtwoordvelden komen niet overeen" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "Systeeminformatie" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende productie" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Productieopdracht" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "Productieopdrachten" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "Productieopdracht Referentie" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "Referentie" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "Korte beschrijving van de productie" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Bovenliggende Productie" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "Productieopdracht waar dit productie aan is toegewezen" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "Productieopdracht waar dit productie aan is toegewezen" msgid "Part" msgstr "Onderdeel" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "Selecteer onderdeel om te produceren" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "Verkooporder Referentie" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "Bronlocatie" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecteer de locatie waar de voorraad van de productie vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "Bestemmings Locatie" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "Productiehoeveelheid" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "Aantal voorraaditems om te produceren" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "Voltooide voorraadartikelen" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "Productiestatus" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum." -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Opleveringsdatum" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "voltooid door" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "Uitgegeven door" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "Gebruiker die de productie-opdracht heeft gegeven" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "Verantwoordelijke" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "Gebruiker verantwoordelijk voor deze productieopdracht" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "Externe Link" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "Opmerkingen" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "Opmerkingen over de productie" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "Product komt niet overeen met de Productieopdracht" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofdonderdeel gemarkeerd is als traceerbaar" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "Geselecteerd voorraadartikel niet gevonden in stuklijst" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "Product" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "Product om onderdelen toe te wijzen" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "Product om onderdelen toe te wijzen" msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "Bron voorraadartikel" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "Bron voorraadartikel" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "Bron voorraadartikel" msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "Productieuitvoer" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "Deze productieuitvoer is al voltooid" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "Deze productieuitvoer is niet volledig toegewezen" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Serienummers" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "Serienummers automatisch toewijzen" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "De volgende serienummers bestaan al" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "Een lijst van productieuitvoeren moet worden verstrekt" msgid "Location" msgstr "Locatie" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "Locatie van voltooide productieuitvoeren" msgid "Status" msgstr "Status" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "Incomplete Toewijzing Accepteren" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "Toegewezen Voorraad Verwijderen" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "Verminder alle voorraad die al is toegewezen aan deze productie" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "Verwijder Incomplete Uitvoeren" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "Accepteer Niet-toegewezen" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze productieorder" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepteer dat het vereist aantal productieuitvoeren niet is voltooid" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "Vereiste productiehoeveelheid is voltooid" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "Er zijn geen productuitvoeren aangemaakt voor deze productieorder" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "Stuklijstartikel" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "Productieuitvoer" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "Productieuitvoer moet naar dezelfde productie wijzen" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part moet naar hetzelfde onderdeel wijzen als de productieorder" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "Productieuitvoer moet worden opgegeven voor de toewijzing van gevolgde onderdelen" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Voorraadlocatie waar onderdelen afkomstig zijn (laat leeg om van elke locatie te nemen)" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "Locatie uitsluiten" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "Uitwisselbare voorraad" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "Vervangende Voorraad" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "Voorraad vereist voor productieorder" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Voorraad is niet volledig toegewezen aan deze productieopdracht" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "Voltooid" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "Voorraadbron" msgid "Stock can be taken from any available location." msgstr "Voorraad kan worden genomen van elke beschikbare locatie." -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Bestemming" @@ -1508,929 +1510,945 @@ msgstr "Productieopdracht Details" msgid "Completed Outputs" msgstr "Voltooide Uitvoeren" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "Verwijder Productieopdracht" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "Niet-ondersteunde bestandsindeling: {ext.upper()}" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "Fout bij lezen bestand (ongeldige codering)" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "Fout bij lezen bestand (ongeldig formaat)" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "Fout bij lezen bestand (onjuiste afmeting)" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "Fout bij lezen bestand (gegevens kunnen beschadigd zijn)" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "Bestand" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "Selecteer bestand om te uploaden" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "{name.title()} Bestand" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "Kies {name} bestand om te uploaden" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig)" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "Instellingswaarde" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "Gekozen waarde is geen geldige optie" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "Waarde moet een booleaanse waarde zijn" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "Waarde moet een geheel getal zijn" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "Sleutelreeks moet uniek zijn" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "Geen groep" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "Opnieuw opstarten vereist" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "Een instelling is gewijzigd waarvoor een herstart van de server vereist is" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "ID Serverinstantie" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "Stringbeschrijving voor de server instantie" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "Gebruik de instantie naam" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "Tonen `over` beperken" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "Bedrijfsnaam" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "Interne bedrijfsnaam" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "Basis URL voor serverinstantie" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "Standaard Valuta" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "Standaard valuta" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "Download van URL" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "Download van afbeeldingen en bestanden vanaf een externe URL toestaan" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Streepjescodeondersteuning" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "Streepjescodescanner ondersteuning inschakelen" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "Duplicaat IPN toestaan" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "Sta het wijzigen van de IPN toe tijdens het bewerken van een onderdeel" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "Kopieer Onderdeel Stuklijstgegevens" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "Kopieer Onderdeel Parametergegevens" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "Kopieer Onderdeel Testdata" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "Kopiëer Categorieparameter Sjablonen" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Sjabloon" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Samenstelling" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Component" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "Koopbaar" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Verkoopbaar" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Volgbaar" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtueel" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "Toon Import in Weergaven" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "Toon de importwizard in sommige onderdelenweergaven" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "Toon Prijs in Formulieren" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "Toon onderdeelprijs in sommige formulieren" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "Prijs in Stuklijst Weergeven" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "Prijsinformatie in Stuklijsttabellen opnemen" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "Toon Prijsgeschiedenis" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "Toon historische prijzen voor Onderdeel" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "Eerste voorraad aanmaken" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "Aanmaken eerste voorraad bij het maken van onderdeel" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "Interne Prijs als Stuklijst Prijs" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Gebruik de interne prijs (indien ingesteld) in stuklijst prijsberekeningen" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "Testrapporten" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "dagen" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "Link naar externe bedrijfsinformatie" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "Afbeelding" @@ -2625,9 +2643,9 @@ msgstr "is fabrikant" msgid "Does this company manufacture parts?" msgstr "Fabriceert dit bedrijf onderdelen?" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2635,16 +2653,16 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "Fabrikant" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Fabrikant selecteren" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "Fabrikant selecteren" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Fabrikant artikel nummer (MPN)" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "URL voor externe link van het fabrikant onderdeel" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "Omschrijving onderdeel fabrikant" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "Waarde" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "Parameterwaarde" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "Eenheden" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd msgid "Supplier" msgstr "Leverancier" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "Selecteer fabrikant onderdeel" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "Opmerking" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "basisprijs" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "Fabrikant onderdelen" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "Nieuwe fabrikant" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Standaard locatie" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Geen actie gespecificeerd" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "Geen overeenkomende actie gevonden" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "De parameter barcode_data moet worden aangeleverd" @@ -5494,31 +5515,31 @@ msgstr "Geen overeenkomst gevonden voor streepjescodegegevens" msgid "Match found for barcode data" msgstr "Overeenkomst gevonden voor streepjescodegegevens" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "Moet voorraadartikelparameter aanleveren" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "Geen overeenkomend voorraadartikel gevonden" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "Streepjescode komt al overeen met Voorraadartikel" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "Streepjescode komt al overeen met Voorraadlocatie" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "Streepjescode komt al overeen met Onderdeel" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "Streepjescode hash komt al overeen met Voorraadartikel" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "Streepjescode gekoppeld aan Voorraadartikel" @@ -5526,226 +5547,226 @@ msgstr "Streepjescode gekoppeld aan Voorraadartikel" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "Sublocaties" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "Voorraadlocaties" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "QR-code voor Voorraadlocatie" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "Specificeer een geldige locatie" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "Verwijder Voorraadlocatie" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "Toegewezen" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "Voorraad toewijzen" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 70078af158..86d6db9165 100644 --- a/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:43\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "API endepunkt ikke funnet" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "Bekreft" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "Bekreft sletting" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "Bekfret sletting av element" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "Oppgi passord" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "Oppgi nytt passord" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Bekreft passord" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Bekreft nytt passord" @@ -70,72 +70,73 @@ msgstr "E-post (gjenta)" msgid "Email address confirmation" msgstr "Bekreftelsen på e-postaddresse" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "Du må angi samme e-post hver gang." -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Dupliser serie: {sn}" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "Tom serienummerstreng" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "Ugyldig gruppe: {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Ugyldig/ingen gruppe {group}" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "Ingen serienummer funnet" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "Fil mangler" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "Mangler eksternlenke" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "Vedlegg" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "Velg fil å legge ved" msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "Lenke til ekstern URL" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "Kommenter" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "Bruker" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "opplastet dato" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "Filnavn må ikke være tom" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "Ugyldig vedleggskatalog" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnavn inneholder ugyldig tegn '{c}'" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "Filnavn mangler filtype" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "Vedlegg med dette filnavnet finnes allerede" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "Feil ved endring av navn" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "Ugyldig valg" msgid "Name" msgstr "Navn" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "Navn" msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "overkategori" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "Nummer må være gyldig" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "Data fil" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "Velg datafil for opplasting" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "Filtypen støttes ikke" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "Ingen kolonner funnet i filen" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "Ingen datalader funnet i fil" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "Ingen datalader oppgitt" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "Ingen datakolonner angitt" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrevd kolonne: '{name}'" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dupliser kolonne: '{col}'" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "Tsjekkisk" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "Gresk" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "Spansk (Meksikansk)" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "Ungarsk" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "Nederlandsk" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "Portugisisk" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasilian)" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "Kinesisk" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "Bakgrunnsarbeiderkontroll mislyktes" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "E-post backend ikke konfigurert" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "Helsekontroll av IvenTree system mislyktes" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "Ventende" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "Plassert" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "Fullført" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "Kansellert" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "Tapt" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "Returnert" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Sendt" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "Merknad nødvendig" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "Skadet" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "Ødelagt" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "Avvist" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "Mottatt mot innkjøpsordre" msgid "Production" msgstr "Produksjon" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Ikke en gyldig valutanr" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "Ugylding tegn i varenavn" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN må matche regex-mønster {pat}" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "Referansen må samsvare med mønster {pattern}" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "Ugyldig tegn i navn ({x})" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "Overde-verdien må ikke være negativ" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "Overde må ikke overstige 100%" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "Slett element" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "Kryss av i boksen for å bekrefte sletting av element" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Rediger brukerinformasjon" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Velg passord" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "Passordfeltene må samsvare" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "Systeminformasjon" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "Ugylding valg for overordnet build" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Build ordre" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "Build Ordre" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "Bygg ordrereferanse" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "Referanse" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "Kort beskrivelse av build" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet build" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "Build order som denne build er tildelt til" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "Build order som denne build er tildelt til" msgid "Part" msgstr "Del" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "Valg del å bygge" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "Salg order referanse" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "Salgorder som denne build er tildelt til" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "Kilde plassering" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Valg sted for å ta lagervare fra for dette prosjektet (la stå tomt for a ta fra hvilken som helst sted)" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "Sted for destinasjon" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "Velg sted hvor fulførte elementer vil bli lagret" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "Prosjekt mengde" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "Antall lagervare til prosjektet" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "Fullførte elementer" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "Antall lagervarer som er fullført" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "Byggstatus" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "Byggstatuskode" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "Batch kode" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "Batch kode for denne build output" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "Opprettelsesdato" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "Forventet sluttdato" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Forventet dato for ferdigstillelse. Build er forvalt etter denne datoen." -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Fullført dato" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "fullført av" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "Utstedt av" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "Brukeren som utstede denne prosjekt order" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "Bruker ansvarlig for denne prosjekt order" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "Ekstern link" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "Notater" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "Ekstra prosjekt notater" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "Ingen prosjekt utgang" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "Prosjekt utdata er allerede utfylt" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er markert som sporbar" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "Lagervare er overtildelt" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "Tildeling antallet må være større enn null" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må væew 1 for serialisert lagervare" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "Valgt lagevare ikke funnet i BOM" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "Prosjekt" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "Bygge for å tildele deler" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "Bygge for å tildele deler" msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "Kilde lagervare" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "Kilde lagervare" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "Kilde lagervare" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "Kilde lagervare" msgid "Quantity" msgstr "Antall" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "Installerings informasjon" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "Målets lagervare" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "Angi antall for build utgang" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for bygge-utganger" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "Beliggenhet" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "Påkrevd varer er ikke fullt tildelt" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "BOM varer" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "Varen må være på lager" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig mengde ({q}) overskredet" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "Fullført" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "Lager kilde" msgid "Stock can be taken from any available location." msgstr "Lagervare kan hentes fra alle tilgengelige steder." -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Destinasjon" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "Filformatet støttes ikke: {ext.upper()}" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "Feil under lesing av fil (ugyldig koding)" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "Feil under lesing av fil (ugyldig format)" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "Feil under lesing av fil (feil dimensjon)" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "Feil under lesing av fil (data kan være skadet)" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "Fil" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "Velg fil å laste opp" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "Velg {name} fil som skal lastes opp" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store of små bokstaver)" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "Valgt verdi er ikke et gyldig alternativ" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "Verdien må være en boolsk verdi" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "Ingen gruppe" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "Omstart påkrevd" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "En innstilling har blitt endrett som krever en serveromstart" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "Firmanavn" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "Internt firmanavn" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "Standardvaluta" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "Last ned fra URL" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "Tilat nedlastning av eksterne bilder og filer fra ekstern URL" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Strekkode støtte" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "Aktiver skrekkodeleser støtte" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "Tilat duplisert IPN" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "Tillat flere deler å dele samme IPN" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "Tillat redigering av IPN" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "Tillat å endre IPN-verdien mens du redigerer en del" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "Kopier testdata som standard ved duplisering av en del" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "Kopier kategori parametermaler ved oppretting av en del" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Mal" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Montering" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Komponent" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "Kjøpbar" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Salgbar" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Sporbar" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "Vis import i visninger" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "Vis importveiviseren i noen deler visninger" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "Vis pris i skjemaer" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "Vis delpris i noen skjemaer" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "Salgsorder referanse prefiks" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "Prefiks verdi for salgsorder referanse" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "Salgsorder referanse prefiks" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "Prefiks verdi for salgsorder referanse" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "Krevt at brukeren angi e-post ved registrering" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO brukere" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "Ved registrering spør brukere to ganger for e-posten" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "Ved registrerting, spør brukere to ganger for passord" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "Aktiver URL integrering" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrering" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "Aktiver app integrasjon" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "Vis abbonerte deler" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "Vis abbonerte deler på hjemmesiden" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "Vis abbonerte kategorier" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "Vis abbonerte delkatekorier på hjemmesiden" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på hjemmesiden" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "Antall nylig deler" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte BOMs" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "Vis BOMs som venter validering på hjemmesiden" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endret lagervarer på hjemmesiden" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "Siste lagertelling" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "Antall nylige lagervarer som skal vises på indeksside" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "Vis lav lager" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "Vis lav lagervarer på hjemmesiden" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "Vis tom lagervarer" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "Aktiv" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "Sjetong" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "Vert" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "Tittel" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "Brødtekst" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Last opp fil" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Sammelign felter" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "Sammenlign varer" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "Deler importert" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Forrige trinn" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "Bilde URL" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "Link til ekstern bedriftsinformasjon" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "Bilde" @@ -2625,9 +2643,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "Produserer dette firmaet deler?" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "Valuta" @@ -2635,16 +2653,16 @@ msgstr "Valuta" msgid "Default currency used for this company" msgstr "Standardvaluta brukt for dette firmaet" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "Last ned bilde fra URL" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "Last opp bilde" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "Leverandør deler" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "Slett deler" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "Produsentdeler" @@ -2927,8 +2946,8 @@ msgstr "Leverandør lager" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "Bestillingsorder" @@ -2950,8 +2969,8 @@ msgstr "Ny bestillingsorder" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "Salgsordre" @@ -2978,7 +2997,7 @@ msgstr "Notater til firma" msgid "Supplier List" msgstr "Leverandørliste" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "Slett leverandørdeler" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "Slett" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "Tildelt lagervarer" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Spørrefilter (kommaseparert liste over nøkkel=verdiparer)," -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "Filtre" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Ingen handling spesifisert" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "Ingen samsvarende handling funnet" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "Må oppgi gyldig strekkode_data parameter" @@ -5494,31 +5515,31 @@ msgstr "Ingen treff funnet for strekkodedata" msgid "Match found for barcode data" msgstr "Treff funnet for strekkodedata" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "Må oppgi lagervareparameter" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "Ingen samsvarende lagervare funnet" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "Strekkoden samsvarer allerede med lagervare" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "Strekkode samsvarer allerede med lagerplassering" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "Strekkode samsvarer allerede med delen" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "Strekkkoden hash samsvarer allerede med lagervare" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "Strekkode tilknyttet lagervare" @@ -5526,226 +5547,226 @@ msgstr "Strekkode tilknyttet lagervare" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "Sjekk bekreftelsesboksen" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 1d24e4d172..0ded9077aa 100644 --- a/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:43\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" -msgstr "" +msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "Potwierdź" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "Potwierdź usunięcie" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "Potwierdź usuwanie elementu" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "Wprowadź hasło" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "Wprowadź nowe hasło" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Potwierdź hasło" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Potwierdź nowe hasło" @@ -70,72 +70,73 @@ msgstr "Adres email (ponownie)" msgid "Email address confirmation" msgstr "Potwierdzenie adresu email" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "Należy ponownie wpisać ten sam adres e-mail." -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Powtórzony numer seryjny: {sn}" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "Pusty ciąg numeru seryjnego" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" -msgstr "" +msgstr "Nieprawidłowy zakres grupy: {g}" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "Nieprawidłowa grupa: {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" -msgstr "" +msgstr "Nieprawidłowa sekwencja grupy: {g}" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Nieprawidłowa/Brak grupy {group}" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "Nie znaleziono numerów seryjnych" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" -msgstr "" +msgstr "Liczba unikalnych numerów seryjnych ({s}) musi odpowiadać ilości ({q})" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "Brak pliku" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "Załącznik" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "Wybierz plik do załączenia" msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "Komentarz" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "Użytkownik" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "data przesłania" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "Nazwa pliku nie może być pusta" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "Nieprawidłowy katalog załącznika" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Nazwa pliku zawiera niedozwolony znak '{c}'" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "Brak rozszerzenia w nazwie pliku" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "Załącznik o tej nazwie już istnieje" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "Błąd zmiany nazwy pliku" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "Błędny wybór" msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "Nazwa" msgid "Description" msgstr "Opis" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "nadrzędny" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "Nazwa pliku" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "Plik danych" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "Wybierz plik danych do przesłania" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "Nieobsługiwany typ pliku" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "Plik jest zbyt duży" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "Nie znaleziono kolumn w pliku" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "Nie znaleziono wierszy danych w pliku" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "Nie podano wierszy danych" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "Nie podano kolumn danych" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Brakuje wymaganej kolumny: '{name}'" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Zduplikowana kolumna: '{col}'" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "Czeski" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "Niemiecki" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "Grecki" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "Angielski" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "Hiszpański" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "Hiszpański (Meksyk)" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "Perski" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "Francuski" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "Hebrajski" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "Węgierski" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "Włoski" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "Japoński" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "Koreański" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "Holenderski" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "Norweski" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "Polski" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" -msgstr "" +msgstr "Portugalski" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" -msgstr "" +msgstr "Portugalski (Brazylijski)" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "Rosyjski" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "Szwedzki" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "Tajski" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "Turecki" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "Wietnamski" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "Chiński" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "Nie skonfigurowano backendu e-mail" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "W toku" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "Umieszczony" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "Zakończono" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "Anulowano" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "Zagubiono" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "Zwrócone" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Wysłane" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" -msgstr "" +msgstr "OK" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "Wymaga uwagi" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "Uszkodzone" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "Zniszczone" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "Odrzucone" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -517,7 +519,7 @@ msgstr "" #: InvenTree/status_codes.py:278 msgid "Split from parent item" -msgstr "" +msgstr "Podziel z pozycji nadrzędnej" #: InvenTree/status_codes.py:279 msgid "Split child item" @@ -529,7 +531,7 @@ msgstr "" #: InvenTree/status_codes.py:283 msgid "Converted to variant" -msgstr "" +msgstr "Przekonwertowano na wariant" #: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:213 msgid "Sent to customer" @@ -559,123 +561,123 @@ msgstr "" msgid "Production" msgstr "Produkcja" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Nieprawidłowy kod waluty" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "Błędny znak w nazwie elementu" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN musi być zgodny z wyrażeniem regularnym {pat}" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "Niedozwolony znak w nazwie ({x})" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "Wartość przedawnienia nie może być ujemna" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "Przedawnienie nie może przekroczyć 100 %" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "Nieprawidłowa wartość przedawnienia" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "Usuń element" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "Zaznacz pole aby potwierdzić usunięcie elementu" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Edytuj informacje użytkownika" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Ustaw hasło" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "Hasła muszą być zgodne" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "Informacja systemowa" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "Zlecenia budowy" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "Referencja" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "Krótki opis budowy" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" msgid "Part" msgstr "Komponent" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "Wybierz część do budowy" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "Odwołanie do zamówienia sprzedaży" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "Lokalizacja źródła" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Wybierz lokalizację, z której pobrać element do budowy (pozostaw puste, aby wziąć z dowolnej lokalizacji)" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "Lokalizacja docelowa" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "Wybierz lokalizację, w której będą przechowywane ukończone elementy" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "Ilość do stworzenia" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "Ilość przedmiotów do zbudowania" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "Ukończone elementy" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "Status budowania" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Data zakończenia" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "Wydany przez" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "Odpowiedzialny" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "Użytkownik odpowiedzialny za to zamówienie budowy" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "Uwagi" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "Dodatkowe notatki do budowy" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" -msgstr "" +msgstr "Nie znaleziono wybranego elementu magazynowego w BOM" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "Budowa" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "Lokalizacja magazynowania przedmiotu" msgid "Quantity" msgstr "Ilość" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Numer seryjny" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,147 +1037,147 @@ msgstr "" msgid "Location" msgstr "Lokalizacja" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 #: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1762 #: templates/js/translated/stock.js:2467 templates/js/translated/stock.js:2599 msgid "Status" -msgstr "" +msgstr "Status" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" -msgstr "" +msgstr "Element BOM" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" -msgstr "" +msgstr "Magazyn, z którego mają być pozyskane elementy (pozostaw puste, aby pobrać z dowolnej lokalizacji)" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "Wyklucz lokalizację" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" -msgstr "" +msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" -msgstr "" +msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" -msgstr "" +msgstr "Zastępczy magazyn" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "Zakończone" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Przeznaczenie" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "Nieobsługiwany format pliku: {ext.upper()}" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "Błąd odczytu pliku (nieprawidłowe kodowanie)" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "Błąd odczytu pliku (nieprawidłowy format)" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "Błąd odczytu pliku (niepoprawny wymiar)" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "Błąd odczytu pliku (dane mogą być uszkodzone)" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "Plik" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "Wybierz plik do przesłania" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "{name.title()} Plik" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "Wybierz plik {name} do przesłania" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "Ustawienia wartości" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "Wartość musi być wartością binarną" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "Wartość musi być liczbą całkowitą" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "Brak grupy" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "Wymagane ponowne uruchomienie" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "Użyj nazwy instancji" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "Nazwa firmy" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "Wewnętrzna nazwa firmy" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "Bazowy URL" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "Bazowy adres URL dla instancji serwera" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "Domyślna waluta" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "Domyślna waluta" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "Pobierz z adresu URL" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Obsługa kodu kreskowego" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "Włącz obsługę skanera kodów" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Szablon" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Złożenie" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Komponent" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Możliwość śledzenia" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Wirtualny" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "Pokaż cenę w BOM" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "Dołącz informacje cenowe w tabelach BOM" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "Pokaż historię cen" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" -msgstr "" +msgstr "Utwórz początkowy stan magazynowy" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "Raporty testów" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "dni" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" -msgstr "" +msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" -msgstr "" +msgstr "Szukaj części" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "Format daty" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Cena" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "Sekret" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "Nagłówek" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "Zawartość" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Wyślij plik" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "Pasujące elementy" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Poprzedni krok" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "URL zdjęcia" @@ -2597,7 +2615,7 @@ msgstr "Punkt kontaktowy" msgid "Link to external company information" msgstr "Link do informacji o zewnętrznym przedsiębiorstwie" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "Obraz" @@ -2625,9 +2643,9 @@ msgstr "jest producentem" msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "Waluta" @@ -2635,16 +2653,16 @@ msgstr "Waluta" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "Wybierz część" msgid "Manufacturer" msgstr "Producent" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "Wybierz producenta" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Numer producenta komponentu" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "Komponent producenta" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "Wartość" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "Jednostki" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "Jednostki parametru" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "Dostawca" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "Uwaga" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "Opakowanie" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "ostatnia aktualizacja" @@ -2847,9 +2865,9 @@ msgstr "Prześlij nowy obraz" msgid "Download image from URL" msgstr "Pobierz obraz z adresu URL" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "Załaduj obrazek" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "Komponenty dostawcy" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "Usuń części" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "Części producenta" @@ -2927,8 +2946,8 @@ msgstr "Zapasy dostawcy" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "Zamówienia zakupu" @@ -2950,8 +2969,8 @@ msgstr "Nowe zamówienie zakupu" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "Notatki firmy" msgid "Supplier List" msgstr "Lista dostawców" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "Usuń" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "Cennik" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "Towary" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "Nowy dostawca" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "Now producent" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "Klienci" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "Nowy klient" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "Firmy" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "Nowa firma" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "Pobierz obraz" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "Nazwa etykiety" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "Opis etykiety" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "Etykieta" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "Aktywne" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "Szerokość [mm]" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "Wysokość [mm]" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "Wzór nazwy pliku" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "Filtry" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "Opis Zamówienia" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "Notatki do zamówienia" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "odebrane przez" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "Data Dostawy Towaru" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "Zamówienie" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "Zamówienie" msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "Odebrane" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "Notatki do przesyłki" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "Linia" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "Komponent" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "Oczekujące przesyłki" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "Akcje" @@ -3978,201 +3998,202 @@ msgstr "Akcje" msgid "New Shipment" msgstr "Nowa wysyłka" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "Nie znaleziono ceny" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "Ważny" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "Musi być większe niż zero" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "Musi być prawidłową ilością" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "To pole jest wymagane" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Domyślna lokalizacja" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "Dostępna ilość" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "W Zamówieniu" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "Wybierz kategorię części" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "Domyślne słowa kluczowe" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "Kategorie części" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Części" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Część '{p1}' jest używana w BOM dla '{p2}' (rekursywne)" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "Wariant" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "Opis komponentu" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "Słowa kluczowe" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "Kategoria" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "Wersja" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "Czy ta część może być użyta do budowy innych części?" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "Czy to wirtualna część, taka jak oprogramowanie lub licencja?" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Wymagane" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "Dane" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "ID komponentu" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "Nazwa komponentu" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "IPN komponentu" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "Poziom" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "Opcjonalne" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "Dziedziczone" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "Część 1" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "Część 2" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "Na stanie" @@ -5386,20 +5407,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "Nieznana baza danych" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "Ustaw kategorię części" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5412,79 +5433,79 @@ msgstr "" msgid "None" msgstr "Żaden" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "Kod QR części" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "Wybierz obrazek części" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "Zaktualizowano zdjęcie części" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "Nie znaleziono obrazka części" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "Potwierdź usunięcie części" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "Część została usunięta" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "Cennik części" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Nie określono działania" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "Nie znaleziono pasującej akcji" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "Należy określić parametr barcode_data" @@ -5496,31 +5517,31 @@ msgstr "Nie znaleziono wyników dla danych kodu kreskowego" msgid "Match found for barcode data" msgstr "Znaleziono wyniki dla danych kodu kreskowego" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "Nie znaleziono pasujących stanów magazynowych" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5528,226 +5549,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "Konfiguracja wtyczki" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "Konfiguracja wtyczek" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "Klucz" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "Klucz wtyczki" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "Nazwa wtyczki" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "Czy wtyczka jest aktywna" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "Wtyczka" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "Włącz PO" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "Włącz funkcjonalność PO w interfejsie InvenTree" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "Klucz API" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "Klucz wymagany do uzyskania dostępu do zewnętrznego API" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "Liczbowy" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "Ustawienie numeryczne" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "Ustawienie jednokrotnego wyboru" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "Ustawienie wielokrotnego wyboru" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "Źródłowy adres URL" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "Źródło pakietu - może to być niestandardowy rejestr lub ścieżka VCS" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "Nazwa pakietu" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "Nazwa pakietu wtyczki - może również zawierać wskaźnik wersji" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "Potwierdź instalację wtyczki" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "Spowoduje to zainstalowanie tej wtyczki w bieżącej instancji. Instancja przejdzie do trybu konserwacji." -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "Instalacja nie została potwierdzona" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "Nazwa szablonu" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "Filtr części" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5764,7 +5785,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5778,12 +5799,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "Wynik" @@ -5813,362 +5834,362 @@ msgstr "Zainstalowane elementy" msgid "Serial" msgstr "Numer seryjny" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "Właściciel" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "Wybierz właściciela" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "Nadrzędny towar" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "Wybierz pasującą część dostawcy dla tego towaru" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "Zainstalowane w" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "Data ważności" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "Usuń po wyczerpaniu" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "Ilość nie może przekraczać dostępnej ilości towaru ({n})" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "Nazwa testu" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "Cena zakupu tego towaru" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6485,7 +6506,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" @@ -6537,7 +6558,7 @@ msgstr "" msgid "Child Items" msgstr "Elementy podrzędne" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6562,55 +6583,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "Wróć do stanu magazynowego" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "Usuń wszystkie dane testowe" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6884,7 +6905,7 @@ msgid "Install Plugin" msgstr "Instaluj wtyczkę" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7573,6 +7594,14 @@ msgstr "Dodaj link" msgid "Add Attachment" msgstr "Dodaj załącznik" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "Wymagane ponowne uruchomienie serwera" @@ -7709,31 +7738,27 @@ msgstr "Nieobsługiwany kod błędu" msgid "Error code" msgstr "Kod błędu" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "Nie znaleziono załączników" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "Edytuj załącznik" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "Potwierdź usunięcie" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "Usuń załącznik" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "Data przesłania" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "Edytuj załącznik" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "Usuń załącznik" @@ -7950,6 +7975,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8178,20 +8204,20 @@ msgstr "" msgid "Quantity Per" msgstr "Ilość za" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "Przydzielono" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8199,7 +8225,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8851,15 +8877,15 @@ msgstr "" msgid "Items" msgstr "Przedmioty" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8872,13 +8898,13 @@ msgid "Total" msgstr "Razem" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "Cena jednostkowa" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "Cena całkowita" @@ -8891,39 +8917,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9016,39 +9042,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "Cena zakupu" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "Oblicz cenę" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "Zaktualizuj cenę jednostkową" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9380,11 +9406,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9520,7 +9546,7 @@ msgstr "Weź" msgid "Add Stock" msgstr "Dodaj stan" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "Dodaj" @@ -10255,51 +10281,51 @@ msgstr "Użytkownicy" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "Informacje osobiste" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "Uprawnienia" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "Ważne daty" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "Uprawnienia nadane" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "Grupa" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "Widok" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "Uprawnienie do wyświetlania przedmiotów" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "Uprawnienie do dodawania przedmiotów" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "Zmień" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "Uprawnienie do edycji przedmiotów" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index 671df18702..6789d2f048 100644 --- a/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:42\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "API endpoint não encontrado" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "Insira uma Data" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "Confirmar" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "Confirmar exclusão" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "Confirmar exclusão do item" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "Digite a senha" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "Insira uma nova senha" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Confirmar senha" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Confirmar nova senha" @@ -70,72 +70,73 @@ msgstr "E-mail (novamente)" msgid "Email address confirmation" msgstr "Confirmação do endereço de email" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "" msgid "Production" msgstr "" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "" @@ -2625,9 +2643,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2635,16 +2653,16 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Nenhuma ação especificada" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "Nenhuma ação correspondente encontrada" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "" @@ -5494,31 +5515,31 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index 24209c6f0e..e523398046 100644 --- a/InvenTree/locale/pt_br/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt_br/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-25 01:01+0000\n" +"POT-Creation-Date: 2022-05-31 04:27+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,7 +22,7 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/exceptions.py:46 +#: InvenTree/exceptions.py:50 msgid "Error details can be found in the admin panel" msgstr "" @@ -31,7 +31,7 @@ msgid "Enter date" msgstr "" #: InvenTree/forms.py:124 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:620 +#: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "" @@ -80,7 +80,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461 +#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 msgid "Invalid quantity provided" msgstr "" @@ -135,11 +135,11 @@ msgid "Select file to attach" msgstr "" #: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:132 order/models.py:1215 +#: company/models.py:569 order/models.py:139 order/models.py:1273 #: part/models.py:855 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:540 -#: templates/js/translated/company.js:829 templates/js/translated/order.js:2469 +#: templates/js/translated/company.js:655 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 #: templates/js/translated/part.js:1441 msgid "Link" msgstr "" @@ -157,12 +157,12 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 +#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1581 +#: common/models.py:1582 common/models.py:1816 common/models.py:1817 +#: common/models.py:2044 common/models.py:2045 part/models.py:2357 #: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2522 +#: templates/js/translated/stock.js:2513 msgid "User" msgstr "" @@ -199,7 +199,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 +#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1802 #: company/models.py:420 label/models.py:104 part/models.py:799 #: part/models.py:2541 plugin/models.py:99 report/models.py:169 #: templates/InvenTree/notifications/notifications.html:84 @@ -208,9 +208,10 @@ msgstr "" #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:327 -#: templates/js/translated/company.js:641 templates/js/translated/part.js:615 +#: templates/js/translated/company.js:539 +#: templates/js/translated/company.js:757 templates/js/translated/part.js:615 #: templates/js/translated/part.js:767 templates/js/translated/part.js:1736 -#: templates/js/translated/stock.js:2292 +#: templates/js/translated/stock.js:2283 msgid "Name" msgstr "" @@ -219,22 +220,22 @@ msgstr "" #: company/models.py:575 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:130 part/models.py:822 part/templates/part/category.html:74 +#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 #: part/templates/part/set_category.html:14 report/models.py:182 #: report/models.py:547 report/models.py:586 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:872 -#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345 -#: templates/js/translated/company.js:551 -#: templates/js/translated/company.js:840 templates/js/translated/order.js:1577 -#: templates/js/translated/order.js:1785 templates/js/translated/order.js:2269 +#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:851 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:401 +#: templates/js/translated/company.js:666 +#: templates/js/translated/company.js:957 templates/js/translated/order.js:1656 +#: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:674 templates/js/translated/part.js:1082 #: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755 -#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2304 templates/js/translated/stock.js:2359 +#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1676 +#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 msgid "Description" msgstr "" @@ -409,7 +410,7 @@ msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 -#: InvenTree/status_codes.py:323 templates/js/translated/table_filters.js:326 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "" @@ -417,141 +418,145 @@ msgstr "" msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" #: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "" #: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:184 msgid "Lost" msgstr "" #: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:189 +#: InvenTree/status_codes.py:187 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1083 -#: templates/js/translated/order.js:3057 templates/js/translated/order.js:3374 +#: InvenTree/status_codes.py:143 order/models.py:1141 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:180 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:181 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:182 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:183 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:188 +#: InvenTree/status_codes.py:185 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:276 +#: InvenTree/status_codes.py:186 +msgid "Quarantined" +msgstr "" + +#: InvenTree/status_codes.py:259 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:278 +#: InvenTree/status_codes.py:261 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:280 +#: InvenTree/status_codes.py:263 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:281 +#: InvenTree/status_codes.py:264 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:283 +#: InvenTree/status_codes.py:266 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:284 +#: InvenTree/status_codes.py:267 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:285 +#: InvenTree/status_codes.py:268 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:287 +#: InvenTree/status_codes.py:270 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:289 +#: InvenTree/status_codes.py:272 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:290 +#: InvenTree/status_codes.py:273 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:292 +#: InvenTree/status_codes.py:275 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:293 +#: InvenTree/status_codes.py:276 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:295 +#: InvenTree/status_codes.py:278 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:296 +#: InvenTree/status_codes.py:279 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2030 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:300 +#: InvenTree/status_codes.py:283 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:302 templates/js/translated/table_filters.js:213 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:213 msgid "Sent to customer" msgstr "" -#: InvenTree/status_codes.py:303 +#: InvenTree/status_codes.py:286 msgid "Returned from customer" msgstr "" -#: InvenTree/status_codes.py:305 +#: InvenTree/status_codes.py:288 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:306 +#: InvenTree/status_codes.py:289 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:307 +#: InvenTree/status_codes.py:290 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:292 msgid "Received against purchase order" msgstr "" -#: InvenTree/status_codes.py:324 +#: InvenTree/status_codes.py:307 msgid "Production" msgstr "" @@ -640,15 +645,15 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:237 order/models.py:589 -#: order/models.py:884 part/models.py:2785 +#: build/models.py:199 order/models.py:295 order/models.py:647 +#: order/models.py:942 part/models.py:2785 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:879 -#: templates/js/translated/build.js:1794 templates/js/translated/order.js:1816 -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:3241 -#: templates/js/translated/order.js:3726 +#: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 +#: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 +#: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 +#: templates/js/translated/order.js:3933 msgid "Reference" msgstr "" @@ -667,10 +672,10 @@ msgstr "" #: build/models.py:225 build/templates/build/build_base.html:77 #: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:983 order/models.py:1072 part/models.py:354 +#: order/models.py:1041 order/models.py:1130 part/models.py:354 #: part/models.py:2303 part/models.py:2319 part/models.py:2338 #: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 +#: part/models.py:2669 part/models.py:2760 part/models.py:3047 #: part/serializers.py:917 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -682,19 +687,21 @@ msgstr "" #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:552 -#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:826 -#: templates/js/translated/build.js:1158 templates/js/translated/build.js:1664 -#: templates/js/translated/build.js:2100 templates/js/translated/build.js:2413 -#: templates/js/translated/company.js:492 -#: templates/js/translated/company.js:749 templates/js/translated/order.js:100 +#: templates/js/translated/bom.js:687 templates/js/translated/bom.js:805 +#: templates/js/translated/build.js:1153 templates/js/translated/build.js:1647 +#: templates/js/translated/build.js:2083 templates/js/translated/build.js:2481 +#: templates/js/translated/company.js:252 +#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:607 +#: templates/js/translated/company.js:866 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 -#: templates/js/translated/order.js:1770 templates/js/translated/order.js:2612 -#: templates/js/translated/order.js:3010 templates/js/translated/order.js:3225 +#: templates/js/translated/order.js:1873 templates/js/translated/order.js:2819 +#: templates/js/translated/order.js:3217 templates/js/translated/order.js:3432 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137 #: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 -#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2385 -#: templates/js/translated/stock.js:2580 templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:1633 templates/js/translated/stock.js:2376 +#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 msgid "Part" msgstr "" @@ -711,7 +718,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:247 build/serializers.py:790 -#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2600 +#: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" @@ -760,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:134 part/models.py:994 -#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2282 +#: build/models.py:292 order/models.py:141 part/models.py:994 +#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:611 +#: build/models.py:296 order/models.py:669 msgid "Target completion date" msgstr "" @@ -773,8 +780,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:280 -#: templates/js/translated/build.js:2490 +#: build/models.py:300 order/models.py:338 +#: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -782,7 +789,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2458 +#: build/models.py:314 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" @@ -791,11 +798,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:148 +#: build/templates/build/detail.html:115 order/models.py:155 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:998 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1611 +#: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" @@ -814,7 +821,7 @@ msgstr "" #: build/models.py:334 build/serializers.py:390 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:152 order/models.py:886 order/models.py:1193 +#: order/models.py:159 order/models.py:944 order/models.py:1251 #: order/templates/order/po_sidebar.html:11 #: order/templates/order/so_sidebar.html:17 part/models.py:983 #: part/templates/part/part_sidebar.html:59 @@ -823,11 +830,11 @@ msgstr "" #: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 #: stock/serializers.py:826 stock/serializers.py:958 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1065 -#: templates/js/translated/company.js:845 templates/js/translated/order.js:1937 -#: templates/js/translated/order.js:2088 templates/js/translated/order.js:2480 -#: templates/js/translated/order.js:3399 templates/js/translated/order.js:3797 -#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 +#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 +#: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 +#: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 +#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" @@ -860,7 +867,7 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1355 +#: build/models.py:1238 order/models.py:1413 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -873,7 +880,7 @@ msgid "Selected stock item not found in BOM" msgstr "" #: build/models.py:1375 stock/templates/stock/item_base.html:177 -#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386 +#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" @@ -888,12 +895,12 @@ msgstr "" #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 -#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538 -#: templates/js/translated/order.js:101 templates/js/translated/order.js:2613 -#: templates/js/translated/order.js:2917 templates/js/translated/order.js:2922 -#: templates/js/translated/order.js:3017 templates/js/translated/order.js:3107 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2643 +#: templates/js/translated/order.js:101 templates/js/translated/order.js:2820 +#: templates/js/translated/order.js:3124 templates/js/translated/order.js:3129 +#: templates/js/translated/order.js:3224 templates/js/translated/order.js:3314 #: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/stock.js:2449 msgid "Stock Item" msgstr "" @@ -903,12 +910,12 @@ msgstr "" #: build/models.py:1405 build/serializers.py:190 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 +#: build/templates/build/detail.html:34 common/models.py:1624 #: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:877 order/models.py:1395 order/serializers.py:1103 +#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 #: part/forms.py:137 part/forms.py:153 part/models.py:2776 -#: part/templates/part/detail.html:953 part/templates/part/detail.html:1039 +#: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:114 @@ -919,21 +926,21 @@ msgstr "" #: stock/serializers.py:282 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 -#: templates/js/translated/bom.js:887 templates/js/translated/build.js:422 +#: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 -#: templates/js/translated/build.js:1180 templates/js/translated/build.js:1690 -#: templates/js/translated/build.js:2103 +#: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 +#: templates/js/translated/build.js:2086 #: templates/js/translated/model_renderers.js:108 #: templates/js/translated/order.js:117 templates/js/translated/order.js:886 -#: templates/js/translated/order.js:1822 templates/js/translated/order.js:2023 -#: templates/js/translated/order.js:2614 templates/js/translated/order.js:2936 -#: templates/js/translated/order.js:3024 templates/js/translated/order.js:3113 -#: templates/js/translated/order.js:3247 templates/js/translated/order.js:3732 +#: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 +#: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 +#: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 #: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2507 templates/js/translated/stock.js:2592 +#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 msgid "Quantity" msgstr "" @@ -950,7 +957,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:135 build/serializers.py:660 -#: templates/js/translated/build.js:1168 +#: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" @@ -974,7 +981,7 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:305 +#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 #: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 #: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 #: stock/serializers.py:294 @@ -1020,12 +1027,12 @@ msgstr "" #: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 -#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1213 -#: templates/js/translated/order.js:2929 templates/js/translated/order.js:3032 -#: templates/js/translated/order.js:3040 templates/js/translated/order.js:3121 +#: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 +#: templates/js/translated/order.js:3136 templates/js/translated/order.js:3239 +#: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:180 templates/js/translated/stock.js:533 #: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905 -#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2399 +#: templates/js/translated/stock.js:1787 templates/js/translated/stock.js:2390 msgid "Location" msgstr "" @@ -1034,12 +1041,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:605 +#: build/templates/build/detail.html:62 order/models.py:663 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442 -#: templates/js/translated/order.js:1320 templates/js/translated/order.js:1581 -#: templates/js/translated/order.js:2274 templates/js/translated/stock.js:1772 -#: templates/js/translated/stock.js:2476 templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 +#: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:2467 templates/js/translated/stock.js:2599 msgid "Status" msgstr "" @@ -1100,7 +1107,7 @@ msgid "No build outputs have been created for this build order" msgstr "" #: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: part/models.py:3039 msgid "BOM Item" msgstr "" @@ -1235,13 +1242,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:890 +#: build/templates/build/detail.html:131 order/models.py:948 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1598 -#: templates/js/translated/order.js:1884 templates/js/translated/order.js:2290 -#: templates/js/translated/order.js:3310 templates/js/translated/part.js:971 +#: templates/js/translated/build.js:2550 templates/js/translated/order.js:1677 +#: templates/js/translated/order.js:1987 templates/js/translated/order.js:2497 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:971 msgid "Target Date" msgstr "" @@ -1268,14 +1275,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1069 -#: order/models.py:1165 order/models.py:1299 +#: build/templates/build/detail.html:94 order/models.py:1127 +#: order/models.py:1223 order/models.py:1357 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:370 -#: templates/js/translated/order.js:2229 +#: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1310,8 +1317,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1005 -#: templates/js/translated/order.js:1321 templates/js/translated/order.js:1926 +#: build/templates/build/detail.html:49 order/models.py:1063 +#: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1325,10 +1332,10 @@ msgstr "" #: build/templates/build/detail.html:80 #: stock/templates/stock/item_base.html:170 -#: templates/js/translated/build.js:1184 +#: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1786 -#: templates/js/translated/stock.js:2615 +#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 +#: templates/js/translated/stock.js:2606 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1337,7 +1344,7 @@ msgstr "" #: build/templates/build/detail.html:126 #: order/templates/order/order_base.html:149 #: order/templates/order/sales_order_base.html:158 -#: templates/js/translated/build.js:2450 +#: templates/js/translated/build.js:2518 msgid "Created" msgstr "" @@ -1357,7 +1364,7 @@ msgstr "" msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916 +#: build/templates/build/detail.html:176 templates/js/translated/build.js:1899 msgid "Unallocate stock" msgstr "" @@ -1387,7 +1394,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:84 +#: company/templates/company/detail.html:85 #: part/templates/part/category.html:177 templates/js/translated/order.js:926 msgid "Order Parts" msgstr "" @@ -1463,8 +1470,8 @@ msgid "Completed Build Outputs" msgstr "" #: build/templates/build/detail.html:307 build/templates/build/sidebar.html:19 -#: company/templates/company/manufacturer_part.html:149 -#: company/templates/company/manufacturer_part_sidebar.html:7 +#: company/templates/company/manufacturer_part.html:151 +#: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 #: order/templates/order/purchase_order_detail.html:82 #: order/templates/order/sales_order_detail.html:129 @@ -1478,11 +1485,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:503 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 +#: build/templates/build/detail.html:504 msgid "All untracked stock items have been allocated" msgstr "" @@ -1494,18 +1501,6 @@ msgstr "" msgid "Print Build Orders" msgstr "" -#: build/templates/build/index.html:44 -#: order/templates/order/purchase_orders.html:34 -#: order/templates/order/sales_orders.html:37 -msgid "Display calendar view" -msgstr "" - -#: build/templates/build/index.html:47 -#: order/templates/order/purchase_orders.html:37 -#: order/templates/order/sales_orders.html:40 -msgid "Display list view" -msgstr "" - #: build/templates/build/sidebar.html:5 msgid "Build Order Details" msgstr "" @@ -1729,7 +1724,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1411 +#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -2102,7 +2097,7 @@ msgstr "" msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1245 common/models.py:1574 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2283,160 +2278,176 @@ msgid "Display parts in search preview window" msgstr "" #: common/models.py:1429 -msgid "Hide Inactive Parts" +msgid "Seach Supplier Parts" msgstr "" #: common/models.py:1430 -msgid "Excluded inactive parts from search preview window" +msgid "Display supplier parts in search preview window" msgstr "" #: common/models.py:1436 -msgid "Search Categories" +msgid "Search Manufacturer Parts" msgstr "" #: common/models.py:1437 -msgid "Display part categories in search preview window" +msgid "Display manufacturer parts in search preview window" msgstr "" #: common/models.py:1443 -msgid "Search Stock" +msgid "Hide Inactive Parts" msgstr "" #: common/models.py:1444 -msgid "Display stock items in search preview window" +msgid "Excluded inactive parts from search preview window" msgstr "" #: common/models.py:1450 -msgid "Hide Unavailable Stock Items" +msgid "Search Categories" msgstr "" #: common/models.py:1451 -msgid "Exclude stock items which are not available from the search preview window" +msgid "Display part categories in search preview window" msgstr "" #: common/models.py:1457 -msgid "Search Locations" +msgid "Search Stock" msgstr "" #: common/models.py:1458 -msgid "Display stock locations in search preview window" +msgid "Display stock items in search preview window" msgstr "" #: common/models.py:1464 -msgid "Search Companies" +msgid "Hide Unavailable Stock Items" msgstr "" #: common/models.py:1465 -msgid "Display companies in search preview window" +msgid "Exclude stock items which are not available from the search preview window" msgstr "" #: common/models.py:1471 -msgid "Search Purchase Orders" +msgid "Search Locations" msgstr "" #: common/models.py:1472 -msgid "Display purchase orders in search preview window" +msgid "Display stock locations in search preview window" msgstr "" #: common/models.py:1478 -msgid "Exclude Inactive Purchase Orders" +msgid "Search Companies" msgstr "" #: common/models.py:1479 -msgid "Exclude inactive purchase orders from search preview window" +msgid "Display companies in search preview window" msgstr "" #: common/models.py:1485 -msgid "Search Sales Orders" +msgid "Search Purchase Orders" msgstr "" #: common/models.py:1486 -msgid "Display sales orders in search preview window" +msgid "Display purchase orders in search preview window" msgstr "" #: common/models.py:1492 -msgid "Exclude Inactive Sales Orders" +msgid "Exclude Inactive Purchase Orders" msgstr "" #: common/models.py:1493 -msgid "Exclude inactive sales orders from search preview window" +msgid "Exclude inactive purchase orders from search preview window" msgstr "" #: common/models.py:1499 -msgid "Search Preview Results" +msgid "Search Sales Orders" msgstr "" #: common/models.py:1500 -msgid "Number of results to show in each section of the search preview window" +msgid "Display sales orders in search preview window" msgstr "" #: common/models.py:1506 -msgid "Show Quantity in Forms" +msgid "Exclude Inactive Sales Orders" msgstr "" #: common/models.py:1507 -msgid "Display available part quantity in some forms" +msgid "Exclude inactive sales orders from search preview window" msgstr "" #: common/models.py:1513 -msgid "Escape Key Closes Forms" +msgid "Search Preview Results" msgstr "" #: common/models.py:1514 -msgid "Use the escape key to close modal forms" +msgid "Number of results to show in each section of the search preview window" msgstr "" #: common/models.py:1520 -msgid "Fixed Navbar" +msgid "Show Quantity in Forms" msgstr "" #: common/models.py:1521 -msgid "The navbar position is fixed to the top of the screen" +msgid "Display available part quantity in some forms" msgstr "" #: common/models.py:1527 -msgid "Date Format" +msgid "Escape Key Closes Forms" msgstr "" #: common/models.py:1528 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:1534 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:1535 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:1541 +msgid "Date Format" +msgstr "" + +#: common/models.py:1542 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1556 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1557 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1625 company/forms.py:39 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:917 +#: common/models.py:1632 company/serializers.py:285 +#: company/templates/company/supplier_part.html:263 order/models.py:975 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1633 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1793 common/models.py:1930 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1794 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1803 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1808 part/models.py:973 plugin/models.py:105 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2444,67 +2455,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1809 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1823 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1824 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1831 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1832 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1897 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1898 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1906 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1907 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1914 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1915 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1921 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1922 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1931 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1936 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1937 msgid "Was the work on this message finished?" msgstr "" @@ -2558,7 +2569,7 @@ msgstr "" #: company/models.py:104 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:405 msgid "Website" msgstr "" @@ -2654,9 +2665,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 -#: templates/js/translated/company.js:333 -#: templates/js/translated/company.js:517 -#: templates/js/translated/company.js:800 templates/js/translated/part.js:235 +#: templates/js/translated/company.js:389 +#: templates/js/translated/company.js:488 +#: templates/js/translated/company.js:632 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2667,8 +2679,10 @@ msgstr "" #: company/models.py:331 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:818 templates/js/translated/order.js:1804 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:487 +#: templates/js/translated/company.js:648 +#: templates/js/translated/company.js:935 templates/js/translated/order.js:1907 #: templates/js/translated/part.js:246 templates/js/translated/part.js:956 msgid "MPN" msgstr "" @@ -2698,8 +2712,9 @@ msgstr "" #: company/models.py:427 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:647 -#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304 +#: stock/models.py:2195 templates/js/translated/company.js:540 +#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 +#: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" @@ -2710,7 +2725,7 @@ msgstr "" #: company/models.py:434 part/models.py:940 part/models.py:2549 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 -#: templates/js/translated/company.js:653 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" @@ -2723,11 +2738,12 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:252 +#: company/templates/company/supplier_part.html:87 order/models.py:310 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:774 templates/js/translated/order.js:1564 +#: templates/js/translated/company.js:254 +#: templates/js/translated/company.js:393 +#: templates/js/translated/company.js:891 templates/js/translated/order.js:1643 #: templates/js/translated/part.js:216 templates/js/translated/part.js:924 #: templates/js/translated/table_filters.js:415 msgid "Supplier" @@ -2738,8 +2754,9 @@ msgid "Select supplier" msgstr "" #: company/models.py:556 company/templates/company/supplier_part.html:97 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1791 -#: templates/js/translated/part.js:227 templates/js/translated/part.js:942 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 +#: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 +#: templates/js/translated/part.js:942 msgid "SKU" msgstr "" @@ -2776,7 +2793,7 @@ msgstr "" #: company/models.py:587 company/templates/company/supplier_part.html:118 #: stock/models.py:631 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1922 +#: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" @@ -2806,7 +2823,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:176 templates/js/translated/company.js:322 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 msgid "Company" msgstr "" @@ -2824,7 +2841,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:265 +#: templates/js/translated/company.js:321 msgid "Edit Company" msgstr "" @@ -2847,12 +2864,12 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:600 +#: company/templates/company/company_base.html:86 order/models.py:658 #: order/templates/order/sales_order_base.html:116 stock/models.py:650 #: stock/models.py:651 stock/serializers.py:714 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/company.js:329 templates/js/translated/order.js:2251 -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2431 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2871,8 +2888,8 @@ msgid "Upload Image" msgstr "" #: company/templates/company/detail.html:14 -#: company/templates/company/manufacturer_part_sidebar.html:9 -#: templates/InvenTree/search.html:118 +#: company/templates/company/manufacturer_part_sidebar.html:7 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2886,32 +2903,24 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:31 -#: company/templates/company/detail.html:78 -#: company/templates/company/manufacturer_part.html:132 -#: company/templates/company/manufacturer_part.html:177 -#: part/templates/part/category.html:168 part/templates/part/detail.html:361 -#: part/templates/part/detail.html:390 -msgid "Options" -msgstr "" - #: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:83 +#: company/templates/company/detail.html:84 #: part/templates/part/category.html:176 msgid "Order parts" msgstr "" #: company/templates/company/detail.html:41 -#: company/templates/company/detail.html:88 +#: company/templates/company/detail.html:89 msgid "Delete parts" msgstr "" #: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:89 +#: company/templates/company/detail.html:90 msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2919,88 +2928,76 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:380 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:382 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:106 +#: company/templates/company/detail.html:107 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:116 +#: company/templates/company/detail.html:117 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 -#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:197 +#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:190 templates/navbar.html:50 +#: templates/js/translated/search.js:275 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:120 +#: company/templates/company/detail.html:121 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:121 +#: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:142 +#: company/templates/company/detail.html:143 #: company/templates/company/sidebar.html:20 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 -#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:217 +#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:214 templates/navbar.html:61 +#: templates/js/translated/search.js:299 templates/navbar.html:61 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:147 +#: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:167 -#: templates/js/translated/build.js:1675 +#: company/templates/company/detail.html:168 +#: templates/js/translated/build.js:1658 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:184 +#: company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:375 -#: company/templates/company/manufacturer_part.html:264 -#: part/templates/part/detail.html:451 -msgid "Delete Supplier Parts?" -msgstr "" - -#: company/templates/company/detail.html:376 -#: company/templates/company/manufacturer_part.html:265 -#: part/templates/part/detail.html:452 -msgid "All selected supplier parts will be deleted" -msgstr "" - #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:47 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178 +#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3013,12 +3010,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:565 +#: templates/js/translated/company.js:680 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:566 +#: templates/js/translated/company.js:681 msgid "Delete manufacturer part" msgstr "" @@ -3034,55 +3031,46 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:41 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 -#: templates/InvenTree/search.html:188 templates/navbar.html:48 +#: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:134 +#: company/templates/company/manufacturer_part.html:136 #: part/templates/part/detail.html:363 msgid "Delete supplier parts" msgstr "" -#: company/templates/company/manufacturer_part.html:134 -#: company/templates/company/manufacturer_part.html:179 -#: company/templates/company/manufacturer_part.html:303 -#: part/templates/part/detail.html:363 part/templates/part/detail.html:392 -#: templates/js/translated/bom.js:699 templates/js/translated/company.js:426 -#: templates/js/translated/helpers.js:32 users/models.py:220 +#: company/templates/company/manufacturer_part.html:136 +#: company/templates/company/manufacturer_part.html:183 +#: part/templates/part/detail.html:364 part/templates/part/detail.html:394 +#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 +#: users/models.py:220 msgid "Delete" msgstr "" -#: company/templates/company/manufacturer_part.html:164 +#: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 #: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:168 +#: company/templates/company/manufacturer_part.html:170 #: part/templates/part/detail.html:184 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:66 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:179 +#: company/templates/company/manufacturer_part.html:183 msgid "Delete parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:240 -#: part/templates/part/detail.html:853 +#: company/templates/company/manufacturer_part.html:245 +#: part/templates/part/detail.html:835 msgid "Add Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:288 -msgid "Selected parameters will be deleted" -msgstr "" - -#: company/templates/company/manufacturer_part.html:300 -msgid "Delete Parameters" -msgstr "" - #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" msgstr "" @@ -3102,18 +3090,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:615 #: stock/templates/stock/item_base.html:238 -#: templates/js/translated/company.js:790 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1879 +#: templates/js/translated/company.js:907 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1869 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:863 +#: templates/js/translated/company.js:980 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:864 +#: templates/js/translated/company.js:981 msgid "Delete supplier part" msgstr "" @@ -3188,11 +3176,11 @@ msgstr "" #: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:19 #: stock/templates/stock/stock_app_base.html:10 -#: templates/InvenTree/search.html:150 +#: templates/InvenTree/search.html:151 #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:678 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387 -#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1687 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3218,8 +3206,8 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:152 templates/js/translated/search.js:138 -#: templates/js/translated/stock.js:2316 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:41 msgid "Stock Items" msgstr "" @@ -3231,7 +3219,7 @@ msgstr "" msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:208 +#: company/views.py:53 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" @@ -3240,7 +3228,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:167 +#: company/views.py:61 templates/js/translated/search.js:252 msgid "Companies" msgstr "" @@ -3330,313 +3318,313 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:130 +#: order/models.py:137 msgid "Order description" msgstr "" -#: order/models.py:132 order/models.py:1216 +#: order/models.py:139 order/models.py:1274 msgid "Link to external page" msgstr "" -#: order/models.py:140 +#: order/models.py:147 msgid "Created By" msgstr "" -#: order/models.py:147 +#: order/models.py:154 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:152 +#: order/models.py:159 msgid "Order notes" msgstr "" -#: order/models.py:238 order/models.py:590 +#: order/models.py:296 order/models.py:648 msgid "Order reference" msgstr "" -#: order/models.py:243 order/models.py:605 +#: order/models.py:301 order/models.py:663 msgid "Purchase order status" msgstr "" -#: order/models.py:253 +#: order/models.py:311 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:256 order/templates/order/order_base.html:124 -#: templates/js/translated/order.js:1573 +#: order/models.py:314 order/templates/order/order_base.html:124 +#: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:256 +#: order/models.py:314 msgid "Supplier order reference code" msgstr "" -#: order/models.py:263 +#: order/models.py:321 msgid "received by" msgstr "" -#: order/models.py:268 +#: order/models.py:326 msgid "Issue Date" msgstr "" -#: order/models.py:269 +#: order/models.py:327 msgid "Date order was issued" msgstr "" -#: order/models.py:274 +#: order/models.py:332 msgid "Target Delivery Date" msgstr "" -#: order/models.py:275 +#: order/models.py:333 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:281 +#: order/models.py:339 msgid "Date order was completed" msgstr "" -#: order/models.py:310 +#: order/models.py:368 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:456 +#: order/models.py:514 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:601 +#: order/models.py:659 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:607 +#: order/models.py:665 msgid "Customer Reference " msgstr "" -#: order/models.py:607 +#: order/models.py:665 msgid "Customer order reference code" msgstr "" -#: order/models.py:612 +#: order/models.py:670 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:615 order/models.py:1170 -#: templates/js/translated/order.js:2298 templates/js/translated/order.js:2449 +#: order/models.py:673 order/models.py:1228 +#: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:622 +#: order/models.py:680 msgid "shipped by" msgstr "" -#: order/models.py:688 +#: order/models.py:746 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:692 +#: order/models.py:750 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:695 +#: order/models.py:753 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:698 +#: order/models.py:756 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:878 +#: order/models.py:936 msgid "Item quantity" msgstr "" -#: order/models.py:884 +#: order/models.py:942 msgid "Line item reference" msgstr "" -#: order/models.py:886 +#: order/models.py:944 msgid "Line item notes" msgstr "" -#: order/models.py:891 +#: order/models.py:949 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:909 +#: order/models.py:967 msgid "Context" msgstr "" -#: order/models.py:910 +#: order/models.py:968 msgid "Additional context for this line" msgstr "" -#: order/models.py:918 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:951 +#: order/models.py:1009 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:958 +#: order/models.py:1016 msgid "deleted" msgstr "" -#: order/models.py:964 order/models.py:1046 order/models.py:1068 -#: order/models.py:1164 order/models.py:1299 -#: templates/js/translated/order.js:2905 +#: order/models.py:1022 order/models.py:1104 order/models.py:1126 +#: order/models.py:1222 order/models.py:1357 +#: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:965 order/models.py:1046 +#: order/models.py:1023 order/models.py:1104 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/order.js:885 templates/js/translated/order.js:1542 -#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1856 -#: templates/js/translated/stock.js:2421 +#: templates/js/translated/order.js:885 templates/js/translated/order.js:1621 +#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1846 +#: templates/js/translated/stock.js:2412 msgid "Purchase Order" msgstr "" -#: order/models.py:984 +#: order/models.py:1042 msgid "Supplier part" msgstr "" -#: order/models.py:991 order/templates/order/order_base.html:169 -#: templates/js/translated/order.js:1318 templates/js/translated/order.js:1906 +#: order/models.py:1049 order/templates/order/order_base.html:169 +#: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:992 +#: order/models.py:1050 msgid "Number of items received" msgstr "" -#: order/models.py:999 part/templates/part/prices.html:179 stock/models.py:745 +#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 #: stock/serializers.py:159 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1000 +#: order/models.py:1058 msgid "Unit purchase price" msgstr "" -#: order/models.py:1008 +#: order/models.py:1066 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1078 part/templates/part/part_pricing.html:112 +#: order/models.py:1136 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1079 +#: order/models.py:1137 msgid "Unit sale price" msgstr "" -#: order/models.py:1084 +#: order/models.py:1142 msgid "Shipped quantity" msgstr "" -#: order/models.py:1171 +#: order/models.py:1229 msgid "Date of shipment" msgstr "" -#: order/models.py:1178 +#: order/models.py:1236 msgid "Checked By" msgstr "" -#: order/models.py:1179 +#: order/models.py:1237 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1187 +#: order/models.py:1245 msgid "Shipment number" msgstr "" -#: order/models.py:1194 +#: order/models.py:1252 msgid "Shipment notes" msgstr "" -#: order/models.py:1201 +#: order/models.py:1259 msgid "Tracking Number" msgstr "" -#: order/models.py:1202 +#: order/models.py:1260 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1209 +#: order/models.py:1267 msgid "Invoice Number" msgstr "" -#: order/models.py:1210 +#: order/models.py:1268 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1227 +#: order/models.py:1285 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1230 +#: order/models.py:1288 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1337 order/models.py:1339 +#: order/models.py:1395 order/models.py:1397 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1343 +#: order/models.py:1401 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1345 +#: order/models.py:1403 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1348 +#: order/models.py:1406 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1352 +#: order/models.py:1410 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1358 order/serializers.py:1008 +#: order/models.py:1416 order/serializers.py:1008 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1361 +#: order/models.py:1419 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1362 +#: order/models.py:1420 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1370 +#: order/models.py:1428 msgid "Line" msgstr "" -#: order/models.py:1378 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1437 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1391 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1392 +#: order/models.py:1450 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1395 +#: order/models.py:1453 msgid "Enter stock allocation quantity" msgstr "" @@ -3842,7 +3830,12 @@ msgstr "" msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:235 +#: order/templates/order/order_base.html:187 +#: order/templates/order/sales_order_base.html:194 +msgid "Total cost could not be calculated" +msgstr "" + +#: order/templates/order/order_base.html:243 msgid "Edit Purchase Order" msgstr "" @@ -3873,9 +3866,9 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 -#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989 +#: templates/js/translated/build.js:579 templates/js/translated/build.js:1972 #: templates/js/translated/order.js:833 templates/js/translated/order.js:1265 -#: templates/js/translated/order.js:2524 templates/js/translated/stock.js:570 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:570 #: templates/js/translated/stock.js:738 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -3939,7 +3932,7 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:239 +#: order/templates/order/purchase_order_detail.html:235 msgid "Add Order Line" msgstr "" @@ -3962,7 +3955,7 @@ msgid "Complete Shipments" msgstr "" #: order/templates/order/sales_order_base.html:67 -#: order/templates/order/sales_order_base.html:250 +#: order/templates/order/sales_order_base.html:258 msgid "Complete Sales Order" msgstr "" @@ -3971,7 +3964,7 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2264 +#: templates/js/translated/order.js:2471 msgid "Customer Reference" msgstr "" @@ -3981,7 +3974,7 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:222 +#: order/templates/order/sales_order_base.html:230 msgid "Edit Sales Order" msgstr "" @@ -3995,7 +3988,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1074 templates/js/translated/build.js:1897 +#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4123,7 +4116,7 @@ msgid "Part Category" msgstr "" #: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 #: users/models.py:38 msgid "Part Categories" msgstr "" @@ -4134,7 +4127,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 -#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99 +#: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:39 msgid "Parts" msgstr "" @@ -4212,7 +4205,7 @@ msgstr "" #: part/models.py:842 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 -#: templates/js/translated/stock.js:1669 +#: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" @@ -4326,7 +4319,7 @@ msgid "Test with this name already exists for this part" msgstr "" #: part/models.py:2462 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1284 +#: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" @@ -4458,7 +4451,7 @@ msgid "BOM quantity for this BOM item" msgstr "" #: part/models.py:2778 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:898 templates/js/translated/bom.js:992 +#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" @@ -4492,7 +4485,7 @@ msgid "BOM line checksum" msgstr "" #: part/models.py:2794 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1009 +#: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" @@ -4503,7 +4496,7 @@ msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" #: part/models.py:2800 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" @@ -4519,35 +4512,35 @@ msgstr "" msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:3006 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:3028 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:3040 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:3048 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:3059 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:3063 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:3063 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:3095 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4724,6 +4717,11 @@ msgstr "" msgid "New Part" msgstr "" +#: part/templates/part/category.html:168 part/templates/part/detail.html:361 +#: part/templates/part/detail.html:392 +msgid "Options" +msgstr "" + #: part/templates/part/category.html:172 msgid "Set category" msgstr "" @@ -4912,46 +4910,46 @@ msgstr "" msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:376 +#: part/templates/part/detail.html:378 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:392 +#: part/templates/part/detail.html:394 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:628 +#: part/templates/part/detail.html:610 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:672 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:680 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:783 +#: part/templates/part/detail.html:765 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:916 +#: part/templates/part/detail.html:898 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:928 +#: part/templates/part/detail.html:910 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:940 +#: part/templates/part/detail.html:922 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1029 +#: part/templates/part/detail.html:1011 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -5094,8 +5092,8 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:508 -#: templates/js/translated/company.js:765 +#: templates/js/translated/company.js:623 +#: templates/js/translated/company.js:882 #: templates/js/translated/model_renderers.js:192 #: templates/js/translated/part.js:581 templates/js/translated/part.js:658 msgid "Inactive" @@ -5111,7 +5109,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3336 +#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5126,7 +5124,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1030 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 msgid "Can Build" msgstr "" @@ -5184,7 +5182,7 @@ msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:963 msgid "No supplier pricing available" msgstr "" @@ -5304,7 +5302,7 @@ msgstr "" msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:978 +#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 msgid "Supplier Cost" msgstr "" @@ -5543,7 +5541,7 @@ msgstr "" msgid "Barcode associated with Stock Item" msgstr "" -#: plugin/base/label/label.py:39 +#: plugin/base/label/label.py:61 msgid "Label printing failed" msgstr "" @@ -5785,10 +5783,10 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:79 #: stock/models.py:655 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 -#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688 +#: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 -#: templates/js/translated/order.js:115 templates/js/translated/order.js:3022 -#: templates/js/translated/order.js:3111 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:115 templates/js/translated/order.js:3229 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 msgid "Serial Number" msgstr "" @@ -5809,7 +5807,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1590 templates/js/translated/stock.js:2349 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2340 msgid "Date" msgstr "" @@ -5828,7 +5826,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725 -#: templates/js/translated/stock.js:2598 +#: templates/js/translated/stock.js:2589 msgid "Serial" msgstr "" @@ -5948,7 +5946,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:713 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1826 +#: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" @@ -6228,11 +6226,11 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2742 +#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2733 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465 +#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1455 msgid "Add Test Result" msgstr "" @@ -6390,7 +6388,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:1710 +#: templates/js/translated/build.js:1693 msgid "No location set" msgstr "" @@ -6419,7 +6417,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1842 +#: templates/js/translated/stock.js:1832 msgid "Last Updated" msgstr "" @@ -6503,8 +6501,8 @@ msgstr "" msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:164 -#: templates/js/translated/search.js:153 users/models.py:40 +#: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 +#: templates/js/translated/search.js:238 users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7348,8 +7346,8 @@ msgstr "" #: templates/about.html:11 templates/about.html:105 #: templates/js/translated/bom.js:133 templates/js/translated/bom.js:621 -#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:594 -#: templates/js/translated/modals.js:688 templates/js/translated/modals.js:996 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:595 +#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7621,14 +7619,14 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1446 +#: templates/js/translated/bom.js:1425 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:911 templates/js/translated/build.js:1804 -#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527 +#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:527 #: templates/js/translated/part.js:530 #: templates/js/translated/table_filters.js:178 msgid "Available" @@ -7663,67 +7661,67 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1066 +#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:197 +#: templates/js/translated/api.js:242 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:198 +#: templates/js/translated/api.js:243 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1076 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1081 +#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1086 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:217 +#: templates/js/translated/api.js:262 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:218 +#: templates/js/translated/api.js:263 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1091 +#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:226 +#: templates/js/translated/api.js:271 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:227 +#: templates/js/translated/api.js:272 msgid "Error code" msgstr "" @@ -7784,7 +7782,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1057 msgid "Invalid server response" msgstr "" @@ -7866,7 +7864,7 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 -#: templates/js/translated/order.js:709 templates/js/translated/tables.js:53 +#: templates/js/translated/order.js:709 templates/js/translated/tables.js:145 msgid "Format" msgstr "" @@ -7951,84 +7949,84 @@ msgstr "" msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:696 +#: templates/js/translated/bom.js:697 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:845 +#: templates/js/translated/bom.js:824 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:855 +#: templates/js/translated/bom.js:834 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:859 templates/js/translated/build.js:1786 +#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:927 templates/js/translated/build.js:1831 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:931 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:933 templates/js/translated/build.js:1837 +#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 #: templates/js/translated/part.js:690 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:935 templates/js/translated/build.js:1839 +#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:949 +#: templates/js/translated/bom.js:928 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:964 +#: templates/js/translated/bom.js:943 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:971 +#: templates/js/translated/bom.js:950 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:1020 templates/js/translated/bom.js:1111 +#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1082 +#: templates/js/translated/bom.js:1061 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1084 +#: templates/js/translated/bom.js:1063 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1086 +#: templates/js/translated/bom.js:1065 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1088 templates/js/translated/bom.js:1249 +#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:1069 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1185 templates/js/translated/build.js:1632 +#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1429 templates/js/translated/build.js:1770 +#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1451 +#: templates/js/translated/bom.js:1430 msgid "Inherited from parent BOM" msgstr "" @@ -8150,262 +8148,270 @@ msgstr "" msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1138 +#: templates/js/translated/build.js:1133 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1207 +#: templates/js/translated/build.js:1202 msgid "Allocated Stock" msgstr "" -#: templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:1209 msgid "No tracked BOM items for this build" msgstr "" -#: templates/js/translated/build.js:1236 +#: templates/js/translated/build.js:1231 msgid "Completed Tests" msgstr "" -#: templates/js/translated/build.js:1241 +#: templates/js/translated/build.js:1236 msgid "No required tests for this build" msgstr "" -#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556 -#: templates/js/translated/order.js:3059 +#: templates/js/translated/build.js:1710 templates/js/translated/build.js:2661 +#: templates/js/translated/order.js:3266 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557 -#: templates/js/translated/order.js:3060 +#: templates/js/translated/build.js:1712 templates/js/translated/build.js:2662 +#: templates/js/translated/order.js:3267 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:1747 +#: templates/js/translated/build.js:1730 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:1757 +#: templates/js/translated/build.js:1740 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:1782 +#: templates/js/translated/build.js:1765 msgid "Substitute parts available" msgstr "" -#: templates/js/translated/build.js:1799 +#: templates/js/translated/build.js:1782 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1825 +#: templates/js/translated/build.js:1808 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1827 +#: templates/js/translated/build.js:1810 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101 -#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3346 +#: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3426 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:1908 templates/stock_table.html:50 +#: templates/js/translated/build.js:1891 templates/stock_table.html:50 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3419 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:756 templates/js/translated/order.js:2586 +#: templates/js/translated/build.js:1933 templates/js/translated/label.js:172 +#: templates/js/translated/order.js:756 templates/js/translated/order.js:2793 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2587 +#: templates/js/translated/build.js:1934 templates/js/translated/order.js:2794 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2535 +#: templates/js/translated/build.js:1983 templates/js/translated/order.js:2742 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2074 +#: templates/js/translated/build.js:2057 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2075 +#: templates/js/translated/build.js:2058 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2601 +#: templates/js/translated/build.js:2072 templates/js/translated/order.js:2808 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2117 +#: templates/js/translated/build.js:2100 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2698 +#: templates/js/translated/build.js:2111 templates/js/translated/order.js:2905 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2775 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:2982 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2297 +#: templates/js/translated/build.js:2280 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2281 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2300 +#: templates/js/translated/build.js:2283 msgid "If a location is specifed, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2301 +#: templates/js/translated/build.js:2284 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2285 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:2323 +#: templates/js/translated/build.js:2306 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2363 +#: templates/js/translated/build.js:2413 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629 -#: templates/js/translated/stock.js:2286 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1314 +#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1619 +#: templates/js/translated/stock.js:2277 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2400 +#: templates/js/translated/build.js:2468 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2428 +#: templates/js/translated/build.js:2496 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2476 +#: templates/js/translated/build.js:2544 msgid "No information" msgstr "" -#: templates/js/translated/build.js:2533 +#: templates/js/translated/build.js:2638 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:65 +#: templates/js/translated/company.js:66 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:78 templates/js/translated/company.js:177 +#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:99 +#: templates/js/translated/company.js:100 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:108 -msgid "Delete Manufacturer Part" -msgstr "" - -#: templates/js/translated/company.js:165 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:193 +#: templates/js/translated/company.js:185 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:208 +#: templates/js/translated/company.js:200 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:218 -msgid "Delete Supplier Part" +#: templates/js/translated/company.js:248 +msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:286 +#: templates/js/translated/company.js:263 +msgid "Delete Supplier Parts" +msgstr "" + +#: templates/js/translated/company.js:342 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:363 +#: templates/js/translated/company.js:419 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:372 +#: templates/js/translated/company.js:428 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:443 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:406 -msgid "The following manufacturer parts will be deleted" +#: templates/js/translated/company.js:482 +msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:423 +#: templates/js/translated/company.js:496 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:480 +#: templates/js/translated/company.js:535 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:548 +msgid "Delete Parameters" +msgstr "" + +#: templates/js/translated/company.js:595 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:500 -#: templates/js/translated/company.js:757 templates/js/translated/part.js:565 +#: templates/js/translated/company.js:615 +#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 #: templates/js/translated/part.js:650 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:504 -#: templates/js/translated/company.js:761 templates/js/translated/part.js:569 +#: templates/js/translated/company.js:619 +#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 #: templates/js/translated/part.js:654 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:631 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:668 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:669 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:688 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:699 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:737 +#: templates/js/translated/company.js:854 msgid "No supplier parts found" msgstr "" @@ -8443,61 +8449,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:358 templates/js/translated/forms.js:373 -#: templates/js/translated/forms.js:387 templates/js/translated/forms.js:401 +#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 +#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:360 +#: templates/js/translated/forms.js:355 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:375 +#: templates/js/translated/forms.js:370 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:389 +#: templates/js/translated/forms.js:384 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:403 +#: templates/js/translated/forms.js:398 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:646 +#: templates/js/translated/forms.js:656 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:746 +#: templates/js/translated/forms.js:756 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1238 templates/modals.html:19 +#: templates/js/translated/forms.js:1248 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1671 +#: templates/js/translated/forms.js:1681 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1886 templates/search.html:29 +#: templates/js/translated/forms.js:1896 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2139 +#: templates/js/translated/forms.js:2149 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2605 +#: templates/js/translated/forms.js:2615 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2605 +#: templates/js/translated/forms.js:2615 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2617 +#: templates/js/translated/forms.js:2627 msgid "Select Columns" msgstr "" @@ -8571,62 +8577,62 @@ msgstr "" msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:81 templates/js/translated/modals.js:141 -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 +#: templates/js/translated/modals.js:621 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:82 templates/js/translated/modals.js:140 -#: templates/js/translated/modals.js:687 templates/js/translated/modals.js:995 +#: templates/js/translated/modals.js:83 templates/js/translated/modals.js:141 +#: templates/js/translated/modals.js:688 templates/js/translated/modals.js:996 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:139 +#: templates/js/translated/modals.js:140 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:402 +#: templates/js/translated/modals.js:403 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:561 +#: templates/js/translated/modals.js:562 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:619 +#: templates/js/translated/modals.js:620 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:676 +#: templates/js/translated/modals.js:677 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:947 +#: templates/js/translated/modals.js:948 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:947 +#: templates/js/translated/modals.js:948 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:959 +#: templates/js/translated/modals.js:960 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1057 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1071 +#: templates/js/translated/modals.js:1072 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1073 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1095 +#: templates/js/translated/modals.js:1096 msgid "Error requesting form data" msgstr "" @@ -8824,7 +8830,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2089 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 msgid "Stock Status" msgstr "" @@ -8848,217 +8854,217 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1531 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1556 templates/js/translated/order.js:2241 +#: templates/js/translated/order.js:1635 templates/js/translated/order.js:2448 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:1606 templates/js/translated/order.js:2306 -#: templates/js/translated/order.js:2436 +#: templates/js/translated/order.js:1685 templates/js/translated/order.js:2513 +#: templates/js/translated/order.js:2643 msgid "Items" msgstr "" -#: templates/js/translated/order.js:1680 templates/js/translated/order.js:3478 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1697 templates/js/translated/order.js:3500 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1710 templates/js/translated/order.js:3511 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:1753 +#: templates/js/translated/order.js:1856 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:1780 templates/js/translated/order.js:3235 +#: templates/js/translated/order.js:1883 templates/js/translated/order.js:3442 msgid "Total" msgstr "" -#: templates/js/translated/order.js:1834 templates/js/translated/order.js:2036 -#: templates/js/translated/order.js:3260 templates/js/translated/order.js:3745 +#: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:1849 templates/js/translated/order.js:2052 -#: templates/js/translated/order.js:3276 templates/js/translated/order.js:3761 +#: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:1890 templates/js/translated/order.js:3318 +#: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 #: templates/js/translated/part.js:979 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:1949 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:1953 templates/js/translated/order.js:3432 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:1954 templates/js/translated/order.js:3433 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:1955 templates/js/translated/order.js:3437 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2101 templates/js/translated/order.js:3810 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2102 templates/js/translated/order.js:3811 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2103 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2133 templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2154 templates/js/translated/order.js:3863 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2165 templates/js/translated/order.js:3874 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2176 +#: templates/js/translated/order.js:2279 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2217 +#: templates/js/translated/order.js:2392 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2255 +#: templates/js/translated/order.js:2462 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2342 +#: templates/js/translated/order.js:2549 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2345 +#: templates/js/translated/order.js:2552 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2350 +#: templates/js/translated/order.js:2557 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2370 +#: templates/js/translated/order.js:2577 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2387 +#: templates/js/translated/order.js:2594 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2421 +#: templates/js/translated/order.js:2628 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2431 +#: templates/js/translated/order.js:2638 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:2455 +#: templates/js/translated/order.js:2662 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:2461 +#: templates/js/translated/order.js:2668 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:2465 +#: templates/js/translated/order.js:2672 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:2634 +#: templates/js/translated/order.js:2841 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:2685 +#: templates/js/translated/order.js:2892 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:2686 +#: templates/js/translated/order.js:2893 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:2894 +#: templates/js/translated/order.js:3101 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:2975 +#: templates/js/translated/order.js:3182 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:2992 +#: templates/js/translated/order.js:3199 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:2993 +#: templates/js/translated/order.js:3200 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3036 templates/js/translated/order.js:3125 -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 +#: templates/js/translated/stock.js:1535 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3044 templates/js/translated/order.js:3134 +#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3341 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3416 +#: templates/js/translated/order.js:3623 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3422 +#: templates/js/translated/order.js:3629 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3429 templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3441 +#: templates/js/translated/order.js:3648 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3444 +#: templates/js/translated/order.js:3651 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3526 +#: templates/js/translated/order.js:3733 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3635 +#: templates/js/translated/order.js:3842 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3649 +#: templates/js/translated/order.js:3856 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:3885 +#: templates/js/translated/order.js:4092 msgid "No matching lines" msgstr "" @@ -9240,7 +9246,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2247 +#: templates/js/translated/stock.js:2238 msgid "Display as list" msgstr "" @@ -9248,7 +9254,7 @@ msgstr "" msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2266 +#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 msgid "Display as tree" msgstr "" @@ -9256,7 +9262,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2310 +#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 msgid "Path" msgstr "" @@ -9264,12 +9270,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243 +#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244 -#: templates/js/translated/stock.js:1503 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 +#: templates/js/translated/stock.js:1493 msgid "Delete test result" msgstr "" @@ -9390,11 +9396,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:307 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:310 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9554,204 +9560,204 @@ msgstr "" msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1172 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1174 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1189 +#: templates/js/translated/stock.js:1179 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1236 +#: templates/js/translated/stock.js:1226 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1239 +#: templates/js/translated/stock.js:1229 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1255 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1311 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1486 +#: templates/js/translated/stock.js:1476 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1508 +#: templates/js/translated/stock.js:1498 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1537 +#: templates/js/translated/stock.js:1527 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1541 +#: templates/js/translated/stock.js:1531 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1539 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1545 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1722 +#: templates/js/translated/stock.js:1712 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1717 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1720 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:1723 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1735 +#: templates/js/translated/stock.js:1725 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1737 +#: templates/js/translated/stock.js:1727 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1730 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1734 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1736 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1743 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1755 +#: templates/js/translated/stock.js:1745 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1757 +#: templates/js/translated/stock.js:1747 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1761 +#: templates/js/translated/stock.js:1751 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1802 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1894 +#: templates/js/translated/stock.js:1884 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:1922 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2104 +#: templates/js/translated/stock.js:2095 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2118 +#: templates/js/translated/stock.js:2109 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2110 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2374 +#: templates/js/translated/stock.js:2365 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/stock.js:2381 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2412 +#: templates/js/translated/stock.js:2403 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2431 +#: templates/js/translated/stock.js:2422 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2441 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2468 +#: templates/js/translated/stock.js:2459 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2491 +#: templates/js/translated/stock.js:2482 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2499 +#: templates/js/translated/stock.js:2490 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2575 +#: templates/js/translated/stock.js:2566 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2626 templates/js/translated/stock.js:2662 +#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2675 +#: templates/js/translated/stock.js:2666 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2696 +#: templates/js/translated/stock.js:2687 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2697 +#: templates/js/translated/stock.js:2688 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2690 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2700 +#: templates/js/translated/stock.js:2691 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2701 +#: templates/js/translated/stock.js:2692 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2702 +#: templates/js/translated/stock.js:2693 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2706 msgid "Select part to install" msgstr "" @@ -9983,69 +9989,81 @@ msgstr "" msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:50 +#: templates/js/translated/tables.js:70 +msgid "Display calendar view" +msgstr "" + +#: templates/js/translated/tables.js:80 +msgid "Display list view" +msgstr "" + +#: templates/js/translated/tables.js:90 +msgid "Display tree view" +msgstr "" + +#: templates/js/translated/tables.js:142 msgid "Export Table Data" msgstr "" -#: templates/js/translated/tables.js:54 +#: templates/js/translated/tables.js:146 msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:433 +#: templates/js/translated/tables.js:525 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:436 +#: templates/js/translated/tables.js:528 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:441 +#: templates/js/translated/tables.js:533 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:443 +#: templates/js/translated/tables.js:535 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:443 +#: templates/js/translated/tables.js:535 msgid "to" msgstr "" -#: templates/js/translated/tables.js:443 +#: templates/js/translated/tables.js:535 msgid "of" msgstr "" -#: templates/js/translated/tables.js:443 +#: templates/js/translated/tables.js:535 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:447 templates/navbar.html:102 +#: templates/js/translated/tables.js:539 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:450 +#: templates/js/translated/tables.js:542 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:453 +#: templates/js/translated/tables.js:545 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:456 +#: templates/js/translated/tables.js:548 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:459 +#: templates/js/translated/tables.js:551 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:462 +#: templates/js/translated/tables.js:554 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:465 +#: templates/js/translated/tables.js:557 msgid "All" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 7e4d2e68ce..725d288a34 100644 --- a/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:42\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "Введите дату" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "Подтвердить" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "Подтвердите удаление" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "Подтвердите удаление элемента" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "Введите пароль" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "Введите новый пароль" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Подтвердить пароль" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Подтвердите новый пароль" @@ -70,72 +70,73 @@ msgstr "Email (еще раз)" msgid "Email address confirmation" msgstr "Подтверждение адреса электронной почты" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "Вы должны вводить один и тот же адрес электронной почты." -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Повторяющийся серийный номер: {sn}" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "недопустимое количество" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "Пустая строка серийного номера" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "Некорректный идентификатор группы {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Недопустимая/несуществующая группа {group}" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "Серийных номеров не найдено" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "Файл не найден" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "Вложения" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "Выберите файл для вложения" msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "Ссылка на внешний URL" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "Комментарий" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "Пользователь" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "дата загрузки" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "Имя файла не должно быть пустым" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "Неверная директория вложений" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Имя файла содержит запрещенные символы '{c}'" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "Отсутствует расширение для имени файла" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "Вложение с таким именем файла уже существует" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "Ошибка переименования файла" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "Неверный выбор" msgid "Name" msgstr "Название" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "Название" msgid "Description" msgstr "Описание" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "родитель" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "Имя файла" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "Файл данных" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "Выберите файл данных для загрузки" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "Неподдерживаемый тип файла" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "Файл слишком большой" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "Столбцы в файле не найдены" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Повторяющийся столбец: '{col}'" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "Немецкий" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "Греческий" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "Английский" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "Испанский" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "Испанский (Мексика)" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "Французский" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "Иврит" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "Венгерский" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "Итальянский" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "Японский" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "Корейский" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "Голландский" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "Норвежский" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "Польский" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "Русский" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "Шведский" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "Тайский" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "Турецкий" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "Вьетнамский" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "Китайский" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "Сервер электронной почты не настроен" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "Ошибка проверки состояния системы InvenTree" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "Ожидаемый" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "Размещены" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "Готово" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "Отменено" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "Потерян" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "Возвращено" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Доставлено" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "Да" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "Требует внимания" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "Поврежденный" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "Разрушено" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "Отклоненный" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "Получено по заказу на покупку" msgid "Production" msgstr "Продукция" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Неверный код валюты" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "Неверный символ в названии части" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN должен совпадать с регулярным выражением {pat}" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "Ссылка должна соответствовать шаблону {pattern}" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "Недопустимый символ в имени ({x})" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "Значение перегрузки не должно быть отрицательным" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "Перегрузка не может превысить 100%" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "Удалить элемент" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "Установите флажок для подтверждения удаления элемента" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Редактировать информацию о пользователе" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Установить пароль" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "Пароли должны совпадать" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "Информация о системе" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "Неверный выбор для родительской сборки" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Порядок сборки" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "Порядок сборки" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "Отсылка" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "Краткое описание сборки" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Родительская сборка" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "Детали" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "Выберите часть для сборки" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "Отсылка на заказ" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "Расположение источника" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "Место назначения" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "Выберите место хранения завершенных элементов" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "Количество сборки" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "Количество складских предметов для сборки" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "Завершенные предметы" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "Количество предметов на складе, которые были завершены" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "Статус сборки" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "Код статуса сборки" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "Дата создания" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "Целевая дата завершения" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Дата завершения" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "выполнено" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "Выдал/ла" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "Пользователь, выпустивший этот заказ на сборку" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "Ответственный" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "Пользователь, ответственный за этот заказ сборки" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "Заметки" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "Дополнительные заметки к сборке" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "Вывод сборки не указан" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "Вывод сборки уже завершен" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "Вывод сборки не совпадает с порядком сборки" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "Предмет на складе перераспределен" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "Выделенное количество должно быть больше нуля" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "Выбранная единица хранения не найдена в BOM" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "Сборка" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "Предметы на складе" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "Исходный складской предмет" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "Исходный складской предмет" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "Исходный складской предмет" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "Исходный складской предмет" msgid "Quantity" msgstr "Количество" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "Введите количество для вывода сборки" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Серийные номера" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для результатов сборки" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "Расположение" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "Статус" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "BOM Компонент" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "Компонент должен быть в наличии" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "Для заказа сборки необходим остаток" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "Завершённые" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Назначение" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "Удалить заказ на сборку" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "Неподдерживаемый формат файла: {ext.upper()}" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "Ошибка чтения файла (неверная кодировка)" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "Ошибка чтения файла (неверный формат)" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "Ошибка чтения файла (неверный размер)" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "Ошибка чтения файла (данные могут быть повреждены)" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "Файл" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "Выберите файл для загрузки" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "Выберите {name} файл для загрузки" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "Требуется перезапуск" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "Название компании" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "Внутреннее название компании" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "Базовая ссылка" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "Базовая ссылка для экземпляра сервера" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "Валюта по умолчанию" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "Валюта по умолчанию" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "Скачать по ссылке" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "Разрешить повторяющиеся IPN" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "Разрешить редактирование IPN" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Шаблон" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Сборка" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Компонент" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Можно продавать" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Отслеживание" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "Показывать цену в формах" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "Показывать цену в BOM" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "Показывать историю цены" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Цена" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Загрузить файл" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "Детали импортированы" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "Предыдущий шаг" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "Ссылка" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "Ссылка на изображение" @@ -2597,7 +2615,7 @@ msgstr "Контактное лицо" msgid "Link to external company information" msgstr "Ссылка на описание компании" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "Изображение" @@ -2625,9 +2643,9 @@ msgstr "производитель" msgid "Does this company manufacture parts?" msgstr "Является ли компания производителем деталей?" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "Валюта" @@ -2635,16 +2653,16 @@ msgstr "Валюта" msgid "Default currency used for this company" msgstr "Для этой компании используется валюта по умолчанию" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "Базовая деталь" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "Выберите деталь" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "Выберите деталь" msgid "Manufacturer" msgstr "Производитель" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Выберите производителя" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "Выберите производителя" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Код производителя" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "Ссылка на сайт производителя" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "Деталь производителя" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "Наименование параметра" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "Значение" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "Значение параметра" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "Ед.изм" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "Единицы измерения" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "Поставщик" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "Код поставщика" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "Ссылка на сайт поставщика" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "Заметка" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "Упаковка" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "Загрузить новое изображение" msgid "Download image from URL" msgstr "Скачать изображение по ссылке" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "Загрузить изображение" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "Детали поставщиков" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "Удалить детали" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "Детали производителей" @@ -2927,8 +2946,8 @@ msgstr "Склад поставщика" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "Заказы на закупку" @@ -2950,8 +2969,8 @@ msgstr "Новый заказ на закупку" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "Заказы на продажу" @@ -2978,7 +2997,7 @@ msgstr "Заметки о компании" msgid "Supplier List" msgstr "Список поставщиков" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "Удалить деталь поставщика" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "Удалить" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "Детали на складе" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "Новый поставщик" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "Новый производитель" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "Покупатели" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "Новый покупатель" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "Компании" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "Новая компания" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "Скачать изображение" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "Ширина [мм]" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "Высота [мм]" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "Фильтры" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "Курс покупки валюты" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "Курс продажи валюты" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "Действия" @@ -3978,201 +3998,202 @@ msgstr "Действия" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "Заказ на продажу не найден" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "Цена не найдена" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Место хранения по умолчанию" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "Доступный запас" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "Выберите категорию" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "Ключевые слова по умолчанию" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "Ключевые слова по умолчанию для деталей этой категории" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Детали" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном для других деталей?" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "Разновидность" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "Описание детали" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "Ключевые слова" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "Ключевые слова для улучшения видимости msgid "Category" msgstr "Категория" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "Категория" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "Версия детали" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "Версия" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "Минимальный запас" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "Эта деталь актуальна?" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "Заметки о детали (поддерживается разметка Markdown)" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "Артикул или наименование детали" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "Артикул" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "Наименование детали" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "IPN" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "Валюта покупки этой единицы хранения" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "Эта деталь является разновидностью %(link)s" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "На складе" @@ -5384,20 +5405,20 @@ msgstr "Создать новую разновидность детали" msgid "Create a new variant of template '%(full_name)s'." msgstr "Создать новую разновидность из шаблона '%(full_name)s'." -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "Неизвестная база данных" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "Укажите категорию" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "Изображение детали не найдено" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "Деталь была удалена" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "Удалить категорию" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "Категория удалена" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Действие не указано" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "Соответствующее действие не найдено" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "Должен быть предоставлен параметр штрихкода" @@ -5494,31 +5515,31 @@ msgstr "Не найдено совпадений для данных штрих- msgid "Match found for barcode data" msgstr "Найдено совпадение по штрих-коду" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "Необходимо предоставить параметр инвентаря" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "Не найдено совпадающих элементов инвентаря" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "Штрих-код уже совпадает с Компонентом" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "Включить уведомления по электронной почте" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "Разрешить отправку уведомлений о событиях по электронной почте" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "Автор не найден" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "Дата не найдена" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "Исходная ссылка" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "Название шаблона" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "Файл шаблона отчёта" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "Родительская единица хранения" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "Базовая деталь" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Место хранения" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "Код партии для этой единицы хранения" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "Исходная сборка" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "Удалить при обнулении" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "Удалить эту единицу хранения при обнулении складского запаса" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "Заметки о единице хранения" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "Выбранная деталь отсутствует в спецификации" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "Места хранения" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "Места хранения" @@ -6535,7 +6556,7 @@ msgstr "Места хранения" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "Необработанная ошибка" msgid "Error code" msgstr "Код ошибки" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "Вложение не найдено" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "Общая стоимость" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "Выберите заказ на продажу" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "Права доступа" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "Права доступа" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "Вид" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "Разрешение на просмотр элементов" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "Разрешение на добавление элементов" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "Разрешение на редактирование элементов" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 20434e424a..f3e9f0349f 100644 --- a/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:42\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "Ange datum" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "Bekräfta" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "Bekräfta borttagning" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "Bekräfta borttagning av artikel" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "Ange lösenord" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "Ange nytt lösenord" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Bekräfta lösenord" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Bekräfta nytt lösenord" @@ -70,72 +70,73 @@ msgstr "" msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "Tom serienummersträng" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "Ogiltig grupp: {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "Inga serienummer hittades" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "Bilaga" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "Välj fil att bifoga" msgid "Link" msgstr "" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "Användare" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "uppladdningsdatum" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "Filnamnet får inte vara tomt" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "Ogiltig katalog för bilaga" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnamnet innehåller ogiltiga tecken '{c}'" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "Filnamn saknar ändelse" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "Det finns redan en bilaga med detta filnamn" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "Fel vid namnbyte av fil" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "Ogiltigt val" msgid "Name" msgstr "Namn" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "Namn" msgid "Description" msgstr "Beskrivning" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "Beskrivning (valfritt)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "överordnad" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "Filnamn" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "Tyska" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "Grekiska" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "Engelska" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "Spanska" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "Franska" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "Hebreiska" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "Italienska" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "Japanska" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "Koreanska" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "Nederländska" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "Norska" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "Polska" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "Ryska" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "Svenska" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "Thailändska" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "Turkiska" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "Vietnamesiska" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "Kinesiska" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "Backend för e-post är inte konfigurerad" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "InvenTree systemhälsokontroll misslyckades" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "Väntar" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "Placerad" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "Slutför" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "Avbruten" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "Förlorad" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "Återlämnad" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Skickad" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "Skadad" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "Förstörd" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "Avvisad" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "" msgid "Production" msgstr "" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "" @@ -2625,9 +2643,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2635,16 +2653,16 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Ingen åtgärd specificerad" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "Ingen matchande åtgärd hittades" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "" @@ -5494,31 +5515,31 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 03f58867ec..362e1b00a9 100644 --- a/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:43\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "" @@ -70,72 +70,73 @@ msgstr "" msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "" msgid "Production" msgstr "" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "" @@ -2625,9 +2643,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2635,16 +2653,16 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "" @@ -5494,31 +5515,31 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index c5f93f3694..dfcef31f78 100644 --- a/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:42\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "Onay" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "Silmeyi Onayla" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "Silmeyi onayla" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "Şifrenizi girin" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "Lütfen Yeni Parolayı Girin" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Parolayı doğrulayın" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Yeni parolayı doğrulayın" @@ -70,72 +70,73 @@ msgstr "E-posta (tekrar)" msgid "Email address confirmation" msgstr "E-posta adresi onayı" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "Her seferind eaynı e-posta adresini yazmalısınız." -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Tekrarlanan seri no:{sn}" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "Boş seri numarası dizesi" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "Geçersiz grup: {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Geçersiz grup: {group}" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "Seri numarası bulunamadı" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "Eksik dosya" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "Ek" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "Eklenecek dosyayı seç" msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "Yorum" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "Kullanıcı" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "yükleme tarihi" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "Dosya adı boş olamaz" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "Ek dosya yolu geçersiz" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Dosya adı geçersiz karakterler içeriyor'{c}'" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "Dosya uzantısı yok" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "Aynı isimli başka bir dosya zaten var" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "Dosya adı değiştirilirken hata" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "Geçersiz seçim" msgid "Name" msgstr "Adı" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "Adı" msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "üst" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "Dosya adı" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "Veri Dosyası" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "Yüklemek istediğiniz dosyayı seçin" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "Desteklenmeyen dsoya tipi" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "Dosya boyutu çok büyük" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "Dosyada kolon bulunamadı" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "Dosyada uygun kolon bulunamadı" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Gerekli kolon ismi eksik:'{name}'" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Tekrarlanan kolon ismi:'{col}'" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "Almanca" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "Yunanca" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "İngilizce" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "İspanyolca" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "İspanyolca(Meksika)" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "Fransızca" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "İbranice" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "Macarca" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "İtalyanca" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "Japonca" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "Korece" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "Flemenkçe" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "Norveççe" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "Polonyaca" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "Rusça" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "İsveççe" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "Tay dili" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "Türkçe" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "Vietnamca" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "Çince" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "E-posta arka ucu yapılandırılmadı" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "InvenTree sistem sağlık kontrolü başarısız" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "Bekliyor" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "Sipariş verildi" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "Tamamlandı" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "İptal edildi" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "Kayıp" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "İade" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Sevk edildi" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "TAMAM" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "Dikkat gerekli" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "Hasarlı" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "Kullanılamaz durumda" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "Reddedildi" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "Satın alma emri karşılığında alındı" msgid "Production" msgstr "Üretim" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "Geçerli bir para birimi kodu değil" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "Parça adında geçersiz karakter" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN regex kalıbıyla eşleşmelidir {pat}" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "Referans {pattern} deseniyle mutlaka eşleşmeli" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "({x}) adında geçersiz karakter" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "Fazlalık değeri negatif olmamalıdır" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "Fazlalık %100'ü geçmemelidir" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "Ögeyi Sil" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "Öge silme işlemini onaylamak için kutuyu işaretleyin" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Kullanıcı Bilgisini Düzenle" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Şifre Belirle" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "Parola alanları eşleşmelidir" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "Sistem Bilgisi" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "Referans" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "Yapım işinin kısa açıklaması" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" msgid "Part" msgstr "Parça" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "Yapım işi için parça seçin" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "Satış Emri Referansı" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "Kaynak Konum" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Bu yapım işi için stok alınacak konumu seçin (her hangi bir stok konumundan alınması için boş bırakın)" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "Hedef Konum" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "Yapım İşi Miktarı" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "Yapım işi stok kalemlerinin sayısı" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "Tamamlanmış ögeler" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "Yapım İşi Durumu" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak." -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Tamamlama tarihi" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "tamamlayan" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "Veren" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "Sorumlu" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "Bu yapım işi emrinden sorumlu kullanıcı" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "Notlar" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "Yapım işi için ekstra notlar" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktısı için bir yapım işi ögesi belirtmelidir" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "Yapım İşi" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "Yapım işi için tahsis edilen parçalar" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "Yapım işi için tahsis edilen parçalar" msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "Kaynak stok kalemi" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "Kaynak stok kalemi" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "Kaynak stok kalemi" msgid "Quantity" msgstr "Miktar" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "Hedef stok kalemi" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "Seri Numaraları" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "Yapım işi çıktısı için seri numaraları girin" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "Konum" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "Durum" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "Gerekli yapım işi miktarı tamamlanmadı" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "Tamamlandı" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "Stok Kaynağı" msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Hedef" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "Yapım İşi Emrini Sil" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "Desteklenmeyen dosya formatı: {ext.upper()}" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "Dosya okurken hata (geçersiz biçim)" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "Dosya okurken hata (geçersiz biçim)" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "Dosya okurken hata (hatalı ölçüler)" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "Dosya okurken hata (veri bozulmuş olabilir)" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "Dosya" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "Yüklenecek dosyayı seç" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "{name.title()} Dosya" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "{name} dosyasını yüklemek için seçin" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "Anahtar dizesi benzersiz olmalı" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "Şirket adı" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "Ana URL" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "Varsayılan Para Birimi" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "Varsayılan para birimi" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "URL'den indir" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Barkod Desteği" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "Barkod tarayıcı desteğini etkinleştir" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "DPN Regex" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Şablon" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "Montaj" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Bileşen" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Satılabilir" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Takip Edilebilir" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Sanal" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "Formlarda Fiyat Göster" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "Test Raporları" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "günler" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "Fiyat" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Dosya Yükle" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Alanları Eşleştir" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "Resim" @@ -2625,9 +2643,9 @@ msgstr "üretici mi" msgid "Does this company manufacture parts?" msgstr "Bu şirket üretim yapıyor mu?" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "Para birimi" @@ -2635,16 +2653,16 @@ msgstr "Para birimi" msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "Temel Parça" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "Parça seçin" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "Parça seçin" msgid "Manufacturer" msgstr "Üretici" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "Üretici seçin" msgid "MPN" msgstr "ÜPN" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "Değer" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "Not" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "Paketleme" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "çoklu" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "Tedarikçi Parçaları" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "Parçaları Sil" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "Tedarikçi Stoku" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" @@ -2950,8 +2969,8 @@ msgstr "Yeni Satın Alma Emri" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "Satış Emirleri" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "Tedarikçi parçalarını sil" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "Fiyatlandırma" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "Stok Kalemleri" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "Yeni Tedarikçi" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "Yeni Üretici" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "Müşteriler" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "Yeni Müşteri" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "Şirketler" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "Yeni Şirket" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "Resmi İndirin" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "Geçersiz yanıt: {code}" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "Sağlanan URL geçerli bir resim dosyası değil" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "Etiket adı" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "Etiket tanımı" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "Etiket" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "Etiket şablon listesi" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "Etkin" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "Etiket sablonu etkinleştirildi" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "Genişlik [mm]" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "Etiket genişliği mm olarak belirtilmeli" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "Yükseklik [mm]" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "Dosya Adı Deseni" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "Etiket dosya adları oluşturma için desen" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "Filtreler" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "Sipariş açıklaması" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "Oluşturan" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "Sipariş notları" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "İşlemler" @@ -3978,201 +3998,202 @@ msgstr "İşlemler" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "Varsayılan Konum" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "Parametre şablonunu aynı seviyedeki kategorilere ekle" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "Parametre şablonunu tüm kategorilere ekle" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Parçalar" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "Sonraki kullanılabilir seri numaraları" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "Sonraki müsait seri numarası" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "En son seri numarası" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "Parça adı" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "Bu parça başka bir parçanın çeşidi mi?" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "Çeşidi" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "Parça açıklaması" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "Anahtar kelimeler" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "DPN" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "Revizyon" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "Minimum Stok" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Gerekli" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "Bu parça %(link)s parçasının bir çeşididir" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "Yeni parça çeşidi oluştur" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "Hiçbiri" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "Parça Parametre Şablonu Oluştur" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "Parça Parametre Şablonu Düzenle" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "Parça Parametre Şablonu Sil" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "Kategori Parametre Şablonu Oluştur" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "Kategori Parametre Şablonu Düzenle" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "Kategori Parametre Şablonu Sil" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "İşlem belirtilmedi" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "Eşleşen eylem bulunamadı" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "Barcode_data parametresini sağlamalıdır" @@ -5494,31 +5515,31 @@ msgstr "Barkod verisi için eşleşme bulunamadı" msgid "Match found for barcode data" msgstr "Barkod verisi için eşleşme bulundu" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "Stok kalemi parametresi sağlamalıdır" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "Eşleşen stok kalemi bulunamadı" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "Şablon için geçerli bir nesne sağlanmadı" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "Şablon adı" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "Rapor şablon dosyası" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "Rapor şablon tanımı" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "Revizyon numarası raporla (otomatik artış)" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "Rapor şablonu etkin" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Stok kalemi sorgu filtreleri (anahter=değer [key=value] olarak virgülle ayrılmış liste)" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "Seri No" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "Bu seri numarasına sahip stok kalemi zaten var" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "Bu stok kalemi için tedarikçi parçası seçin" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seri numaraları zaten mevcut: {exists}" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "Alt konumlar" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "Stok Konumları" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "Stok Kalemine Dönüştür" @@ -6560,55 +6581,55 @@ msgstr "Bu işlem kolayca geri alınamaz" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "Stok Konumu QR Kodu" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "Geçerli bir konum belirtiniz" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "Onay kutusunu işaretleyin" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "Stok Konumunu Sil" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "Dosya Ekle" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "Ek Düzenle" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "Eki Sil" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "Ürünler" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "Seri numaralarını tahsis et" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "Seri Numaralarını Tahsis Et" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "Kullanıcılar" msgid "Select which users are assigned to this group" msgstr "Bu gruba atanacak kullanıcıyı seçin" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "Aşağıdaki kullanıcılar birden çok grubun üyesi:" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "Kullanıcı bilgisi" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "Yetkiler" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "Önemli tarihler" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "İzinleri ayarla" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "Grup" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "Görünüm" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "Parçayı görüntüleme izni" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "Parça ekleme izni" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "Değiştir" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "Parçaları düzenleme izni" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "Parçaları silme izni" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index c128491d9a..bba20ac053 100644 --- a/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:42\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "Xác nhận mật khẩu" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "Xác nhận mật khẩu mới" @@ -70,72 +70,73 @@ msgstr "" msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "Bình luận" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "Người dùng" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "Ngày tải lên" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "Tên tập tin không được để trống" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "" msgid "Description" msgstr "Mô tả" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "Tên tập tin" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "" msgid "Production" msgstr "" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "Thông tin hệ thống" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "Tạo đơn hàng" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "" -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "" msgid "Part" msgstr "Nguyên liệu" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Ngày hoàn thành" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "Trạng thái" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "Đã hoàn thành" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "Hiển thị nguyên liệu mới nhất trên trang chủ" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "" @@ -2625,9 +2643,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2635,16 +2653,16 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "" msgid "Manufacturer" msgstr "Nhà sản xuất" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "Nhà cung cấp" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "" @@ -2927,8 +2946,8 @@ msgstr "" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "" @@ -2950,8 +2969,8 @@ msgstr "" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "" @@ -2978,7 +2997,7 @@ msgstr "" msgid "Supplier List" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "Đơn hàng" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Nguyên liệu" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "" @@ -5494,31 +5515,31 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Kho hàng" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "Quản trị" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "" @@ -10250,51 +10276,51 @@ msgstr "" msgid "Select which users are assigned to this group" msgstr "" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index f42e038688..95410df77b 100644 --- a/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-28 23:41+0000\n" -"PO-Revision-Date: 2022-05-29 01:47\n" +"POT-Creation-Date: 2022-06-02 14:08+0000\n" +"PO-Revision-Date: 2022-06-02 14:42\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -17,44 +17,44 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:49 +#: InvenTree/api.py:46 msgid "API endpoint not found" msgstr "未找到 API 端点" -#: InvenTree/exceptions.py:50 +#: InvenTree/exceptions.py:46 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:96 +#: InvenTree/fields.py:94 msgid "Enter date" msgstr "输入日期" -#: InvenTree/forms.py:124 templates/account/email_confirm.html:20 +#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 #: templates/js/translated/forms.js:630 msgid "Confirm" msgstr "确认" -#: InvenTree/forms.py:140 +#: InvenTree/forms.py:134 msgid "Confirm delete" msgstr "确认删除" -#: InvenTree/forms.py:141 +#: InvenTree/forms.py:135 msgid "Confirm item deletion" msgstr "确认删除" -#: InvenTree/forms.py:172 +#: InvenTree/forms.py:167 msgid "Enter password" msgstr "输入密码" -#: InvenTree/forms.py:173 +#: InvenTree/forms.py:168 msgid "Enter new password" msgstr "输入新密码" -#: InvenTree/forms.py:180 +#: InvenTree/forms.py:175 msgid "Confirm password" msgstr "确认密码" -#: InvenTree/forms.py:181 +#: InvenTree/forms.py:176 msgid "Confirm new password" msgstr "确认新密码" @@ -70,72 +70,73 @@ msgstr "Email (再次)" msgid "Email address confirmation" msgstr "Email 地址确认" -#: InvenTree/forms.py:258 +#: InvenTree/forms.py:259 msgid "You must type the same email each time." msgstr "您必须输入相同的 Email 。" -#: InvenTree/helpers.py:449 +#: InvenTree/helpers.py:402 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:456 order/models.py:365 order/models.py:519 +#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 msgid "Invalid quantity provided" msgstr "提供的数量无效" -#: InvenTree/helpers.py:459 +#: InvenTree/helpers.py:412 msgid "Empty serial number string" msgstr "空序列号字符串" -#: InvenTree/helpers.py:491 +#: InvenTree/helpers.py:444 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:494 +#: InvenTree/helpers.py:447 #, python-brace-format msgid "Invalid group: {g}" msgstr "无效的群组: {g}" -#: InvenTree/helpers.py:522 +#: InvenTree/helpers.py:475 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:530 +#: InvenTree/helpers.py:483 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:536 +#: InvenTree/helpers.py:489 msgid "No serial numbers found" msgstr "未找到序列号" -#: InvenTree/helpers.py:540 +#: InvenTree/helpers.py:493 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:181 +#: InvenTree/models.py:174 msgid "Missing file" msgstr "缺少文件" -#: InvenTree/models.py:182 +#: InvenTree/models.py:175 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:193 stock/models.py:2202 -#: templates/js/translated/attachment.js:119 +#: InvenTree/models.py:187 stock/models.py:2086 +#: templates/js/translated/attachment.js:101 +#: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "附件" -#: InvenTree/models.py:194 +#: InvenTree/models.py:188 msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:200 company/models.py:123 company/models.py:337 -#: company/models.py:569 order/models.py:139 order/models.py:1273 -#: part/models.py:855 +#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: part/models.py:795 #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:655 #: templates/js/translated/company.js:946 templates/js/translated/order.js:2676 @@ -143,64 +144,65 @@ msgstr "选择附件" msgid "Link" msgstr "链接" -#: InvenTree/models.py:201 build/models.py:330 part/models.py:856 -#: stock/models.py:665 +#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: stock/models.py:642 msgid "Link to external URL" msgstr "链接到外部 URL" -#: InvenTree/models.py:204 templates/js/translated/attachment.js:163 +#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "注释" -#: InvenTree/models.py:204 +#: InvenTree/models.py:198 msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:210 InvenTree/models.py:211 common/models.py:1567 -#: common/models.py:1568 common/models.py:1802 common/models.py:1803 -#: common/models.py:2030 common/models.py:2031 part/models.py:2357 -#: part/models.py:2377 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:204 InvenTree/models.py:205 common/models.py:1499 +#: common/models.py:1500 common/models.py:1728 common/models.py:1729 +#: common/models.py:1991 common/models.py:1992 part/models.py:2153 +#: part/models.py:2173 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2513 msgid "User" msgstr "用户" -#: InvenTree/models.py:214 +#: InvenTree/models.py:208 msgid "upload date" msgstr "上传日期" -#: InvenTree/models.py:237 +#: InvenTree/models.py:230 msgid "Filename must not be empty" msgstr "文件名不能为空!" -#: InvenTree/models.py:260 +#: InvenTree/models.py:253 msgid "Invalid attachment directory" msgstr "非法的附件目录" -#: InvenTree/models.py:270 +#: InvenTree/models.py:263 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "文件名包含非法字符 '{c}'" -#: InvenTree/models.py:273 +#: InvenTree/models.py:266 msgid "Filename missing extension" msgstr "缺少文件名扩展" -#: InvenTree/models.py:280 +#: InvenTree/models.py:273 msgid "Attachment with this filename already exists" msgstr "使用此文件名的附件已存在" -#: InvenTree/models.py:287 +#: InvenTree/models.py:280 msgid "Error renaming file" msgstr "重命名文件出错" -#: InvenTree/models.py:322 +#: InvenTree/models.py:314 msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:338 InvenTree/models.py:339 common/models.py:1788 -#: company/models.py:420 label/models.py:104 part/models.py:799 -#: part/models.py:2541 plugin/models.py:99 report/models.py:169 +#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: company/models.py:354 label/models.py:101 part/models.py:739 +#: part/models.py:2331 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/notifications/notifications.html:84 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:49 @@ -214,15 +216,15 @@ msgstr "选择无效" msgid "Name" msgstr "名称" -#: InvenTree/models.py:345 build/models.py:207 -#: build/templates/build/detail.html:24 company/models.py:343 -#: company/models.py:575 company/templates/company/company_base.html:71 +#: InvenTree/models.py:340 build/models.py:197 +#: build/templates/build/detail.html:24 company/models.py:278 +#: company/models.py:512 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:73 label/models.py:111 -#: order/models.py:137 part/models.py:822 part/templates/part/category.html:74 +#: company/templates/company/supplier_part.html:73 label/models.py:108 +#: order/models.py:133 part/models.py:762 part/templates/part/category.html:74 #: part/templates/part/part_base.html:167 -#: part/templates/part/set_category.html:14 report/models.py:182 -#: report/models.py:547 report/models.py:586 +#: part/templates/part/set_category.html:14 report/models.py:164 +#: report/models.py:509 report/models.py:550 #: report/templates/report/inventree_build_order_base.html:118 #: stock/templates/stock/location.html:103 #: templates/InvenTree/settings/plugin_settings.html:33 @@ -238,232 +240,232 @@ msgstr "名称" msgid "Description" msgstr "描述信息" -#: InvenTree/models.py:346 +#: InvenTree/models.py:341 msgid "Description (optional)" msgstr "描述 (可选)" -#: InvenTree/models.py:354 +#: InvenTree/models.py:349 msgid "parent" msgstr "上级项" -#: InvenTree/serializers.py:59 part/models.py:2874 +#: InvenTree/serializers.py:52 part/models.py:2650 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:293 +#: InvenTree/serializers.py:271 msgid "Filename" msgstr "文件名" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:306 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:328 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:329 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:350 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:356 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:401 +#: InvenTree/serializers.py:377 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:404 +#: InvenTree/serializers.py:380 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:530 +#: InvenTree/serializers.py:503 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:533 +#: InvenTree/serializers.py:506 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:583 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:629 +#: InvenTree/serializers.py:592 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:667 msgid "Czech" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:668 msgid "German" msgstr "德语" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:669 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:670 msgid "English" msgstr "英语" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:671 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:672 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:673 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:674 msgid "French" msgstr "法语" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:675 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:676 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:677 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:678 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:679 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:680 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:681 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:682 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:683 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:684 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:685 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:686 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:687 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:688 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:689 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:690 msgid "Chinese" msgstr "中文(简体)" -#: InvenTree/status.py:108 +#: InvenTree/status.py:99 msgid "Background worker check failed" msgstr "后台工作人员检查失败" -#: InvenTree/status.py:112 +#: InvenTree/status.py:103 msgid "Email backend not configured" msgstr "未配置电子邮件后端" -#: InvenTree/status.py:115 +#: InvenTree/status.py:106 msgid "InvenTree system health checks failed" msgstr "InventTree系统健康检查失败" -#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142 +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 #: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:326 msgid "Pending" msgstr "待定" -#: InvenTree/status_codes.py:102 +#: InvenTree/status_codes.py:100 msgid "Placed" msgstr "已添加" -#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:309 +#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:309 #: order/templates/order/order_base.html:134 #: order/templates/order/sales_order_base.html:133 msgid "Complete" msgstr "完成" -#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:142 #: InvenTree/status_codes.py:308 msgid "Cancelled" msgstr "已取消" -#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145 -#: InvenTree/status_codes.py:184 +#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:143 +#: InvenTree/status_codes.py:183 msgid "Lost" msgstr "丢失" -#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146 -#: InvenTree/status_codes.py:187 +#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144 +#: InvenTree/status_codes.py:186 msgid "Returned" msgstr "已退回" -#: InvenTree/status_codes.py:143 order/models.py:1141 -#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3581 +#: InvenTree/status_codes.py:141 order/models.py:1114 +#: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "已发货" -#: InvenTree/status_codes.py:180 +#: InvenTree/status_codes.py:179 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:181 +#: InvenTree/status_codes.py:180 msgid "Attention needed" msgstr "需要关注" -#: InvenTree/status_codes.py:182 +#: InvenTree/status_codes.py:181 msgid "Damaged" msgstr "破损" -#: InvenTree/status_codes.py:183 +#: InvenTree/status_codes.py:182 msgid "Destroyed" msgstr "已销毁" -#: InvenTree/status_codes.py:185 +#: InvenTree/status_codes.py:184 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:185 msgid "Quarantined" msgstr "" @@ -559,123 +561,123 @@ msgstr "收到定购单" msgid "Production" msgstr "生产中" -#: InvenTree/validators.py:23 +#: InvenTree/validators.py:18 msgid "Not a valid currency code" msgstr "不是有效的货币代码" -#: InvenTree/validators.py:51 +#: InvenTree/validators.py:45 msgid "Invalid character in part name" msgstr "商品名称中存在无效字符" -#: InvenTree/validators.py:64 +#: InvenTree/validators.py:57 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: InvenTree/validators.py:78 InvenTree/validators.py:92 -#: InvenTree/validators.py:106 +#: InvenTree/validators.py:68 InvenTree/validators.py:79 +#: InvenTree/validators.py:90 #, python-brace-format msgid "Reference must match pattern {pattern}" msgstr "引用必须匹配模板 {pattern}" -#: InvenTree/validators.py:114 +#: InvenTree/validators.py:97 #, python-brace-format msgid "Illegal character in name ({x})" msgstr "名称中存在非法字符 ({x})" -#: InvenTree/validators.py:135 InvenTree/validators.py:151 +#: InvenTree/validators.py:116 InvenTree/validators.py:132 msgid "Overage value must not be negative" msgstr "备损值不能为负数" -#: InvenTree/validators.py:153 +#: InvenTree/validators.py:134 msgid "Overage must not exceed 100%" msgstr "备损不能超过 100%" -#: InvenTree/validators.py:160 +#: InvenTree/validators.py:141 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:534 +#: InvenTree/views.py:522 msgid "Delete Item" msgstr "删除项" -#: InvenTree/views.py:583 +#: InvenTree/views.py:571 msgid "Check box to confirm item deletion" msgstr "选中方框以确认项目删除" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "编辑用户信息" -#: InvenTree/views.py:609 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "设置密码" -#: InvenTree/views.py:628 +#: InvenTree/views.py:618 msgid "Password fields must match" msgstr "密码字段必须相匹配。" -#: InvenTree/views.py:875 templates/navbar.html:152 +#: InvenTree/views.py:842 templates/navbar.html:152 msgid "System Information" msgstr "系统信息" -#: build/models.py:133 +#: build/models.py:126 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" -#: build/models.py:137 build/templates/build/build_base.html:9 +#: build/models.py:131 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:106 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "生产订单" -#: build/models.py:138 build/templates/build/build_base.html:13 +#: build/models.py:132 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:114 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:139 -#: templates/InvenTree/settings/sidebar.html:45 users/models.py:42 +#: templates/InvenTree/settings/sidebar.html:45 users/models.py:40 msgid "Build Orders" msgstr "生产订单" -#: build/models.py:198 +#: build/models.py:188 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:199 order/models.py:295 order/models.py:647 -#: order/models.py:942 part/models.py:2785 +#: build/models.py:189 order/models.py:288 order/models.py:638 +#: order/models.py:916 part/models.py:2568 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:688 templates/js/translated/bom.js:858 #: templates/js/translated/build.js:1777 templates/js/translated/order.js:1919 #: templates/js/translated/order.js:2120 templates/js/translated/order.js:3448 -#: templates/js/translated/order.js:3933 +#: templates/js/translated/order.js:3959 msgid "Reference" msgstr "引用" -#: build/models.py:210 +#: build/models.py:200 msgid "Brief description of the build" msgstr "生产的简短描述." -#: build/models.py:219 build/templates/build/build_base.html:169 +#: build/models.py:209 build/templates/build/build_base.html:169 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上级生产" -#: build/models.py:220 +#: build/models.py:210 msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:225 build/templates/build/build_base.html:77 -#: build/templates/build/detail.html:29 company/models.py:711 -#: order/models.py:1041 order/models.py:1130 part/models.py:354 -#: part/models.py:2303 part/models.py:2319 part/models.py:2338 -#: part/models.py:2355 part/models.py:2457 part/models.py:2579 -#: part/models.py:2669 part/models.py:2760 part/models.py:3050 -#: part/serializers.py:917 part/templates/part/part_app_base.html:8 +#: build/models.py:215 build/templates/build/build_base.html:77 +#: build/templates/build/detail.html:29 company/models.py:647 +#: order/models.py:1012 order/models.py:1103 part/models.py:336 +#: part/models.py:2099 part/models.py:2114 part/models.py:2133 +#: part/models.py:2151 part/models.py:2250 part/models.py:2370 +#: part/models.py:2458 part/models.py:2543 part/models.py:2819 +#: part/serializers.py:793 part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 #: part/templates/part/upload_bom.html:52 @@ -704,193 +706,193 @@ msgstr "此次生产匹配的订单" msgid "Part" msgstr "商品" -#: build/models.py:233 +#: build/models.py:223 msgid "Select part to build" msgstr "选择要生产的商品" -#: build/models.py:238 +#: build/models.py:228 msgid "Sales Order Reference" msgstr "相关销售订单" -#: build/models.py:242 +#: build/models.py:232 msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:247 build/serializers.py:790 +#: build/models.py:237 build/serializers.py:758 #: templates/js/translated/build.js:2071 templates/js/translated/order.js:2807 msgid "Source Location" msgstr "来源地点" -#: build/models.py:251 +#: build/models.py:241 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:256 +#: build/models.py:246 msgid "Destination Location" msgstr "目标地点" -#: build/models.py:260 +#: build/models.py:250 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目仓储地点" -#: build/models.py:264 +#: build/models.py:254 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:267 +#: build/models.py:257 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:271 +#: build/models.py:261 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:273 +#: build/models.py:263 msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:277 +#: build/models.py:267 msgid "Build Status" msgstr "生产状态" -#: build/models.py:281 +#: build/models.py:271 msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:285 build/serializers.py:220 order/serializers.py:440 -#: stock/models.py:669 templates/js/translated/order.js:1175 +#: build/models.py:275 build/serializers.py:215 order/serializers.py:440 +#: stock/models.py:646 templates/js/translated/order.js:1175 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:289 build/serializers.py:221 +#: build/models.py:279 build/serializers.py:216 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:292 order/models.py:141 part/models.py:994 +#: build/models.py:282 order/models.py:137 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:296 order/models.py:669 +#: build/models.py:286 order/models.py:660 msgid "Target completion date" msgstr "预计完成日期" -#: build/models.py:297 +#: build/models.py:287 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:300 order/models.py:338 +#: build/models.py:290 order/models.py:331 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "完成日期:" -#: build/models.py:306 +#: build/models.py:296 msgid "completed by" msgstr "完成人" -#: build/models.py:314 templates/js/translated/build.js:2526 +#: build/models.py:304 templates/js/translated/build.js:2526 msgid "Issued by" msgstr "发布者" -#: build/models.py:315 +#: build/models.py:305 msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:323 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:155 +#: build/models.py:313 build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:115 order/models.py:151 #: order/templates/order/order_base.html:176 -#: order/templates/order/sales_order_base.html:183 part/models.py:998 +#: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 #: templates/js/translated/build.js:2538 templates/js/translated/order.js:1690 msgid "Responsible" msgstr "责任人" -#: build/models.py:324 +#: build/models.py:314 msgid "User responsible for this build order" msgstr "负责此生产订单的用户" -#: build/models.py:329 build/templates/build/detail.html:101 +#: build/models.py:319 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:132 -#: part/templates/part/part_base.html:346 stock/models.py:663 +#: part/templates/part/part_base.html:346 stock/models.py:640 #: stock/templates/stock/item_base.html:205 msgid "External Link" msgstr "外部链接" -#: build/models.py:334 build/serializers.py:390 +#: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 -#: company/models.py:582 company/templates/company/sidebar.html:25 -#: order/models.py:159 order/models.py:944 order/models.py:1251 +#: company/models.py:519 company/templates/company/sidebar.html:25 +#: order/models.py:155 order/models.py:918 order/models.py:1213 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 part/models.py:983 +#: order/templates/order/so_sidebar.html:17 part/models.py:921 #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/models.py:736 stock/models.py:2102 stock/models.py:2208 -#: stock/serializers.py:321 stock/serializers.py:459 stock/serializers.py:728 -#: stock/serializers.py:826 stock/serializers.py:958 +#: stock/models.py:713 stock/models.py:1984 stock/models.py:2092 +#: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:730 +#: stock/serializers.py:829 stock/serializers.py:961 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1044 #: templates/js/translated/company.js:962 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 -#: templates/js/translated/order.js:3606 templates/js/translated/order.js:4004 +#: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 #: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 msgid "Notes" msgstr "备注" -#: build/models.py:335 +#: build/models.py:325 msgid "Extra build notes" msgstr "额外的生产备注" -#: build/models.py:773 +#: build/models.py:711 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:776 +#: build/models.py:714 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:779 +#: build/models.py:717 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:1213 +#: build/models.py:1108 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1222 +#: build/models.py:1117 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1232 +#: build/models.py:1127 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1238 order/models.py:1413 +#: build/models.py:1133 order/models.py:1372 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1244 +#: build/models.py:1139 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1301 +#: build/models.py:1196 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1375 stock/templates/stock/item_base.html:177 +#: build/models.py:1265 stock/templates/stock/item_base.html:177 #: templates/InvenTree/search.html:137 templates/js/translated/build.js:2454 #: templates/navbar.html:38 msgid "Build" msgstr "生产" -#: build/models.py:1376 +#: build/models.py:1266 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1392 build/serializers.py:631 order/serializers.py:964 -#: order/serializers.py:982 stock/serializers.py:393 stock/serializers.py:666 -#: stock/serializers.py:784 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 +#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:661 +#: stock/serializers.py:787 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:199 #: templates/js/translated/build.js:738 templates/js/translated/build.js:743 @@ -903,17 +905,17 @@ msgstr "" msgid "Stock Item" msgstr "库存项" -#: build/models.py:1393 +#: build/models.py:1283 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1405 build/serializers.py:190 +#: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1610 -#: company/forms.py:38 company/templates/company/supplier_part.html:258 -#: order/models.py:935 order/models.py:1453 order/serializers.py:1103 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:121 -#: part/forms.py:137 part/forms.py:153 part/models.py:2776 +#: build/templates/build/detail.html:34 common/models.py:1536 +#: company/forms.py:36 company/templates/company/supplier_part.html:258 +#: order/models.py:909 order/models.py:1412 order/serializers.py:1134 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:104 +#: part/forms.py:119 part/forms.py:134 part/models.py:2559 #: part/templates/part/detail.html:935 part/templates/part/detail.html:1021 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 @@ -922,7 +924,7 @@ msgstr "源库存项" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:282 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 #: stock/templates/stock/item_base.html:300 #: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:689 #: templates/js/translated/bom.js:866 templates/js/translated/build.js:422 @@ -934,7 +936,7 @@ msgstr "源库存项" #: templates/js/translated/order.js:1925 templates/js/translated/order.js:2126 #: templates/js/translated/order.js:2821 templates/js/translated/order.js:3143 #: templates/js/translated/order.js:3231 templates/js/translated/order.js:3320 -#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3939 +#: templates/js/translated/order.js:3454 templates/js/translated/order.js:3965 #: templates/js/translated/part.js:967 templates/js/translated/part.js:1969 #: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234 #: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403 @@ -943,87 +945,87 @@ msgstr "源库存项" msgid "Quantity" msgstr "数量" -#: build/models.py:1406 +#: build/models.py:1296 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1414 +#: build/models.py:1304 msgid "Install into" msgstr "安装到" -#: build/models.py:1415 +#: build/models.py:1305 msgid "Destination stock item" msgstr "" -#: build/serializers.py:135 build/serializers.py:660 +#: build/serializers.py:128 build/serializers.py:632 #: templates/js/translated/build.js:1163 msgid "Build Output" msgstr "" -#: build/serializers.py:147 +#: build/serializers.py:140 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:151 +#: build/serializers.py:144 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:148 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:166 +#: build/serializers.py:159 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:191 +#: build/serializers.py:184 msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/serializers.py:203 build/serializers.py:651 order/models.py:363 -#: order/serializers.py:289 order/serializers.py:435 part/serializers.py:588 -#: part/serializers.py:1084 stock/models.py:496 stock/models.py:1307 -#: stock/serializers.py:294 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:363 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:512 +#: part/serializers.py:956 stock/models.py:470 stock/models.py:1238 +#: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" -#: build/serializers.py:210 +#: build/serializers.py:205 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:213 +#: build/serializers.py:208 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:227 order/serializers.py:448 order/serializers.py:1107 -#: stock/serializers.py:303 templates/js/translated/order.js:1186 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: stock/serializers.py:297 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 msgid "Serial Numbers" msgstr "序列号" -#: build/serializers.py:228 +#: build/serializers.py:223 msgid "Enter serial numbers for build outputs" msgstr "输入生产产出的序列号" -#: build/serializers.py:241 +#: build/serializers.py:236 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:242 +#: build/serializers.py:237 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:276 stock/api.py:590 +#: build/serializers.py:268 stock/api.py:547 msgid "The following serial numbers already exist" msgstr "" -#: build/serializers.py:329 build/serializers.py:402 +#: build/serializers.py:317 build/serializers.py:386 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:372 order/serializers.py:421 order/serializers.py:526 -#: stock/serializers.py:314 stock/serializers.py:454 stock/serializers.py:819 -#: stock/serializers.py:1060 stock/templates/stock/item_base.html:390 +#: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 +#: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:822 +#: stock/serializers.py:1055 stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:436 #: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750 #: templates/js/translated/build.js:1685 templates/js/translated/order.js:1213 @@ -1035,12 +1037,12 @@ msgstr "" msgid "Location" msgstr "地点" -#: build/serializers.py:373 +#: build/serializers.py:357 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:379 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:663 +#: build/serializers.py:363 build/templates/build/build_base.html:142 +#: build/templates/build/detail.html:62 order/models.py:654 #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2510 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 @@ -1049,133 +1051,133 @@ msgstr "" msgid "Status" msgstr "状态" -#: build/serializers.py:385 +#: build/serializers.py:369 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:386 +#: build/serializers.py:370 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:456 +#: build/serializers.py:439 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:457 +#: build/serializers.py:440 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:463 +#: build/serializers.py:446 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:464 +#: build/serializers.py:447 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:470 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:490 +#: build/serializers.py:471 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:500 templates/js/translated/build.js:195 +#: build/serializers.py:481 templates/js/translated/build.js:195 msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:505 +#: build/serializers.py:486 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:506 +#: build/serializers.py:487 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:516 templates/js/translated/build.js:199 +#: build/serializers.py:497 templates/js/translated/build.js:199 msgid "Required build quantity has not been completed" msgstr "所需生产数量尚未完成" -#: build/serializers.py:525 +#: build/serializers.py:506 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:528 build/templates/build/build_base.html:95 +#: build/serializers.py:509 build/templates/build/build_base.html:95 msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:556 build/serializers.py:605 part/models.py:2900 -#: part/models.py:3042 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 +#: part/models.py:2811 msgid "BOM Item" msgstr "" -#: build/serializers.py:566 +#: build/serializers.py:545 msgid "Build output" msgstr "" -#: build/serializers.py:575 +#: build/serializers.py:553 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:622 +#: build/serializers.py:594 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:637 stock/serializers.py:673 +#: build/serializers.py:609 stock/serializers.py:674 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:694 order/serializers.py:1015 +#: build/serializers.py:667 order/serializers.py:1052 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:700 +#: build/serializers.py:673 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:707 +#: build/serializers.py:680 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:685 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:739 order/serializers.py:1277 +#: build/serializers.py:708 order/serializers.py:1298 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:791 +#: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:799 +#: build/serializers.py:767 msgid "Exclude Location" msgstr "" -#: build/serializers.py:800 +#: build/serializers.py:768 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:773 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:806 +#: build/serializers.py:774 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:811 +#: build/serializers.py:779 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:780 msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:95 +#: build/tasks.py:96 msgid "Stock required for build order" msgstr "" @@ -1241,7 +1243,7 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:131 order/models.py:948 +#: build/templates/build/detail.html:131 order/models.py:922 #: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:126 @@ -1274,8 +1276,8 @@ msgid "Completed" msgstr "已完成" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1127 -#: order/models.py:1223 order/models.py:1357 +#: build/templates/build/detail.html:94 order/models.py:1100 +#: order/models.py:1185 order/models.py:1320 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:136 @@ -1316,7 +1318,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1063 +#: build/templates/build/detail.html:49 order/models.py:1034 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1508,929 +1510,945 @@ msgstr "" msgid "Completed Outputs" msgstr "" -#: build/views.py:80 +#: build/views.py:59 msgid "Delete Build Order" msgstr "删除生产订单" -#: common/files.py:66 +#: common/files.py:62 msgid "Unsupported file format: {ext.upper()}" msgstr "不支持的文件格式: {ext.uper()}" -#: common/files.py:68 +#: common/files.py:64 msgid "Error reading file (invalid encoding)" msgstr "" -#: common/files.py:73 +#: common/files.py:69 msgid "Error reading file (invalid format)" msgstr "" -#: common/files.py:75 +#: common/files.py:71 msgid "Error reading file (incorrect dimension)" msgstr "" -#: common/files.py:77 +#: common/files.py:73 msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:31 +#: common/forms.py:29 msgid "File" msgstr "" -#: common/forms.py:32 +#: common/forms.py:30 msgid "Select file to upload" msgstr "" -#: common/forms.py:47 +#: common/forms.py:44 msgid "{name.title()} File" msgstr "" -#: common/forms.py:48 +#: common/forms.py:45 #, python-brace-format msgid "Select {name} file to upload" msgstr "" -#: common/models.py:394 +#: common/models.py:365 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:396 +#: common/models.py:367 msgid "Settings value" msgstr "" -#: common/models.py:437 +#: common/models.py:408 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:457 +#: common/models.py:425 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:468 +#: common/models.py:436 msgid "Value must be an integer value" msgstr "" -#: common/models.py:517 +#: common/models.py:481 msgid "Key string must be unique" msgstr "" -#: common/models.py:739 +#: common/models.py:665 msgid "No group" msgstr "" -#: common/models.py:781 +#: common/models.py:704 msgid "Restart required" msgstr "" -#: common/models.py:782 +#: common/models.py:705 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:789 +#: common/models.py:712 msgid "Server Instance Name" msgstr "" -#: common/models.py:791 +#: common/models.py:714 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:795 +#: common/models.py:718 msgid "Use instance name" msgstr "" -#: common/models.py:796 +#: common/models.py:719 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:802 +#: common/models.py:725 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:803 +#: common/models.py:726 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:809 company/models.py:92 company/models.py:93 +#: common/models.py:732 company/models.py:92 company/models.py:93 msgid "Company name" msgstr "公司名称" -#: common/models.py:810 +#: common/models.py:733 msgid "Internal company name" msgstr "内部公司名称" -#: common/models.py:815 +#: common/models.py:738 msgid "Base URL" msgstr "" -#: common/models.py:816 +#: common/models.py:739 msgid "Base URL for server instance" msgstr "" -#: common/models.py:822 +#: common/models.py:745 msgid "Default Currency" msgstr "" -#: common/models.py:823 +#: common/models.py:746 msgid "Default currency" msgstr "" -#: common/models.py:829 +#: common/models.py:752 msgid "Download from URL" msgstr "" -#: common/models.py:830 +#: common/models.py:753 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:836 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:837 +#: common/models.py:760 msgid "Enable barcode scanner support" msgstr "启用条形码扫描支持" -#: common/models.py:843 +#: common/models.py:766 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:844 +#: common/models.py:767 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:850 +#: common/models.py:773 msgid "IPN Regex" msgstr "" -#: common/models.py:851 +#: common/models.py:774 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:855 +#: common/models.py:778 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:856 +#: common/models.py:779 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:862 +#: common/models.py:785 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:863 +#: common/models.py:786 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:869 +#: common/models.py:792 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:870 +#: common/models.py:793 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:876 +#: common/models.py:799 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:877 +#: common/models.py:800 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:883 +#: common/models.py:806 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:884 +#: common/models.py:807 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:890 +#: common/models.py:813 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:891 +#: common/models.py:814 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:897 part/models.py:2581 report/models.py:175 +#: common/models.py:820 part/models.py:2372 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "模板" -#: common/models.py:898 +#: common/models.py:821 msgid "Parts are templates by default" msgstr "" -#: common/models.py:904 part/models.py:946 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" msgstr "组装" -#: common/models.py:905 +#: common/models.py:828 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:911 part/models.py:952 +#: common/models.py:834 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "组件" -#: common/models.py:912 +#: common/models.py:835 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:918 part/models.py:963 +#: common/models.py:841 part/models.py:901 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:919 +#: common/models.py:842 msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:925 part/models.py:968 +#: common/models.py:848 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "可销售" -#: common/models.py:926 +#: common/models.py:849 msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:932 part/models.py:958 +#: common/models.py:855 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "可追踪" -#: common/models.py:933 +#: common/models.py:856 msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:939 part/models.py:978 +#: common/models.py:862 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "虚拟" -#: common/models.py:940 +#: common/models.py:863 msgid "Parts are virtual by default" msgstr "商品默认是虚拟的" -#: common/models.py:946 +#: common/models.py:869 msgid "Show Import in Views" msgstr "视图中显示导入" -#: common/models.py:947 +#: common/models.py:870 msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" -#: common/models.py:953 +#: common/models.py:876 msgid "Show Price in Forms" msgstr "在表格中显示价格" -#: common/models.py:954 +#: common/models.py:877 msgid "Display part price in some forms" msgstr "以某些表格显示商品价格" -#: common/models.py:965 +#: common/models.py:888 msgid "Show Price in BOM" msgstr "" -#: common/models.py:966 +#: common/models.py:889 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:977 +#: common/models.py:900 msgid "Show Price History" msgstr "" -#: common/models.py:978 +#: common/models.py:901 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:984 +#: common/models.py:907 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:985 +#: common/models.py:908 msgid "Display related parts for a part" msgstr "" -#: common/models.py:991 +#: common/models.py:914 msgid "Create initial stock" msgstr "创建初始库存" -#: common/models.py:992 +#: common/models.py:915 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:998 +#: common/models.py:921 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:999 +#: common/models.py:922 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1005 +#: common/models.py:928 msgid "Internal Price as BOM-Price" msgstr "内部价格为BOM价格" -#: common/models.py:1006 +#: common/models.py:929 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "在 BOM价格计算中使用内部价格(如设置)" -#: common/models.py:1012 +#: common/models.py:935 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1013 +#: common/models.py:936 msgid "Format to display the part name" msgstr "" -#: common/models.py:1020 +#: common/models.py:943 msgid "Enable Reports" msgstr "" -#: common/models.py:1021 +#: common/models.py:944 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1027 templates/stats.html:25 +#: common/models.py:950 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1028 +#: common/models.py:951 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1034 +#: common/models.py:957 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1035 +#: common/models.py:958 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1045 +#: common/models.py:968 msgid "Test Reports" msgstr "测试报表" -#: common/models.py:1046 +#: common/models.py:969 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1052 +#: common/models.py:975 msgid "Batch Code Template" msgstr "" -#: common/models.py:1053 +#: common/models.py:976 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1058 +#: common/models.py:981 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1059 +#: common/models.py:982 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1065 +#: common/models.py:988 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1066 +#: common/models.py:989 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1072 +#: common/models.py:995 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1073 +#: common/models.py:996 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1075 +#: common/models.py:998 msgid "days" msgstr "天" -#: common/models.py:1080 +#: common/models.py:1003 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1081 +#: common/models.py:1004 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1087 +#: common/models.py:1010 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1088 +#: common/models.py:1011 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1094 +#: common/models.py:1017 msgid "Build Order Reference Prefix" msgstr "生产订单参考前缀" -#: common/models.py:1095 +#: common/models.py:1018 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1100 +#: common/models.py:1023 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1101 +#: common/models.py:1024 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1105 +#: common/models.py:1028 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1106 +#: common/models.py:1029 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1111 +#: common/models.py:1034 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1112 +#: common/models.py:1035 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1118 +#: common/models.py:1041 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1119 +#: common/models.py:1042 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1125 +#: common/models.py:1048 msgid "Enable password forgot" msgstr "" -#: common/models.py:1126 +#: common/models.py:1049 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1132 +#: common/models.py:1055 msgid "Enable registration" msgstr "" -#: common/models.py:1133 +#: common/models.py:1056 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1139 +#: common/models.py:1062 msgid "Enable SSO" msgstr "" -#: common/models.py:1140 +#: common/models.py:1063 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1146 +#: common/models.py:1069 msgid "Email required" msgstr "" -#: common/models.py:1147 +#: common/models.py:1070 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1153 +#: common/models.py:1076 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1154 +#: common/models.py:1077 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1160 +#: common/models.py:1083 msgid "Mail twice" msgstr "" -#: common/models.py:1161 +#: common/models.py:1084 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1167 +#: common/models.py:1090 msgid "Password twice" msgstr "" -#: common/models.py:1168 +#: common/models.py:1091 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1174 +#: common/models.py:1097 msgid "Group on signup" msgstr "" -#: common/models.py:1175 +#: common/models.py:1098 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1181 +#: common/models.py:1104 msgid "Enforce MFA" msgstr "" -#: common/models.py:1182 +#: common/models.py:1105 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1188 +#: common/models.py:1111 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1189 +#: common/models.py:1112 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1197 +#: common/models.py:1120 msgid "Enable URL integration" msgstr "" -#: common/models.py:1198 +#: common/models.py:1121 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1205 +#: common/models.py:1128 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1206 +#: common/models.py:1129 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1213 +#: common/models.py:1136 msgid "Enable app integration" msgstr "" -#: common/models.py:1214 +#: common/models.py:1137 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1221 +#: common/models.py:1144 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1222 +#: common/models.py:1145 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1229 +#: common/models.py:1152 msgid "Enable event integration" msgstr "" -#: common/models.py:1230 +#: common/models.py:1153 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1245 common/models.py:1560 +#: common/models.py:1170 common/models.py:1492 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1276 +#: common/models.py:1192 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1277 +#: common/models.py:1193 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1199 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1284 +#: common/models.py:1200 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1206 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1291 +#: common/models.py:1207 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1297 +#: common/models.py:1213 msgid "Recent Part Count" msgstr "" -#: common/models.py:1298 +#: common/models.py:1214 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1304 +#: common/models.py:1220 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1221 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1227 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1312 +#: common/models.py:1228 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1234 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1319 +#: common/models.py:1235 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1325 +#: common/models.py:1241 msgid "Show low stock" msgstr "" -#: common/models.py:1326 +#: common/models.py:1242 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1332 +#: common/models.py:1248 msgid "Show depleted stock" msgstr "" -#: common/models.py:1333 +#: common/models.py:1249 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1339 +#: common/models.py:1255 msgid "Show needed stock" msgstr "" -#: common/models.py:1340 +#: common/models.py:1256 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1346 +#: common/models.py:1262 msgid "Show expired stock" msgstr "" -#: common/models.py:1347 +#: common/models.py:1263 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1353 +#: common/models.py:1269 msgid "Show stale stock" msgstr "" -#: common/models.py:1354 +#: common/models.py:1270 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1360 +#: common/models.py:1276 msgid "Show pending builds" msgstr "" -#: common/models.py:1361 +#: common/models.py:1277 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1367 +#: common/models.py:1283 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1368 +#: common/models.py:1284 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1374 +#: common/models.py:1290 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1375 +#: common/models.py:1291 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1381 +#: common/models.py:1297 msgid "Show overdue POs" msgstr "" -#: common/models.py:1382 +#: common/models.py:1298 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1388 +#: common/models.py:1304 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1389 +#: common/models.py:1305 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1395 +#: common/models.py:1311 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1396 +#: common/models.py:1312 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1401 +#: common/models.py:1317 msgid "Enable label printing" msgstr "" -#: common/models.py:1402 +#: common/models.py:1318 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1408 +#: common/models.py:1324 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1409 +#: common/models.py:1325 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1415 +#: common/models.py:1331 msgid "Inline report display" msgstr "" -#: common/models.py:1416 +#: common/models.py:1332 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1422 +#: common/models.py:1338 msgid "Search Parts" msgstr "" -#: common/models.py:1423 +#: common/models.py:1339 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1345 +msgid "Seach Supplier Parts" +msgstr "" + +#: common/models.py:1346 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:1352 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:1353 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:1359 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1430 +#: common/models.py:1360 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1366 msgid "Search Categories" msgstr "" -#: common/models.py:1437 +#: common/models.py:1367 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1373 msgid "Search Stock" msgstr "" -#: common/models.py:1444 +#: common/models.py:1374 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1450 +#: common/models.py:1380 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1451 +#: common/models.py:1381 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1457 +#: common/models.py:1387 msgid "Search Locations" msgstr "" -#: common/models.py:1458 +#: common/models.py:1388 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1464 +#: common/models.py:1394 msgid "Search Companies" msgstr "" -#: common/models.py:1465 +#: common/models.py:1395 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1471 +#: common/models.py:1401 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1472 +#: common/models.py:1402 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1478 +#: common/models.py:1408 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1409 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1485 +#: common/models.py:1415 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1416 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1492 +#: common/models.py:1422 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1423 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1499 +#: common/models.py:1429 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:1500 +#: common/models.py:1430 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1506 +#: common/models.py:1436 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:1507 +#: common/models.py:1437 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:1513 +#: common/models.py:1443 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1514 +#: common/models.py:1444 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1520 +#: common/models.py:1450 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1521 +#: common/models.py:1451 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1527 +#: common/models.py:1457 msgid "Date Format" msgstr "" -#: common/models.py:1528 +#: common/models.py:1458 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1542 part/templates/part/detail.html:39 +#: common/models.py:1472 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1543 +#: common/models.py:1473 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1611 company/forms.py:39 +#: common/models.py:1537 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1618 company/serializers.py:285 -#: company/templates/company/supplier_part.html:263 order/models.py:975 +#: common/models.py:1544 company/serializers.py:288 +#: company/templates/company/supplier_part.html:263 order/models.py:949 #: templates/js/translated/part.js:998 templates/js/translated/part.js:1974 msgid "Price" msgstr "价格" -#: common/models.py:1619 +#: common/models.py:1545 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1779 common/models.py:1916 +#: common/models.py:1705 common/models.py:1883 msgid "Endpoint" msgstr "" -#: common/models.py:1780 +#: common/models.py:1706 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1789 +#: common/models.py:1715 msgid "Name for this webhook" msgstr "" -#: common/models.py:1794 part/models.py:973 plugin/models.py:105 +#: common/models.py:1720 part/models.py:911 plugin/models.py:99 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:308 @@ -2438,107 +2456,107 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1795 +#: common/models.py:1721 msgid "Is this webhook active" msgstr "" -#: common/models.py:1809 +#: common/models.py:1735 msgid "Token" msgstr "" -#: common/models.py:1810 +#: common/models.py:1736 msgid "Token for access" msgstr "" -#: common/models.py:1817 +#: common/models.py:1743 msgid "Secret" msgstr "" -#: common/models.py:1818 +#: common/models.py:1744 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1883 +#: common/models.py:1850 msgid "Message ID" msgstr "" -#: common/models.py:1884 +#: common/models.py:1851 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1892 +#: common/models.py:1859 msgid "Host" msgstr "" -#: common/models.py:1893 +#: common/models.py:1860 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1900 +#: common/models.py:1867 msgid "Header" msgstr "" -#: common/models.py:1901 +#: common/models.py:1868 msgid "Header of this message" msgstr "" -#: common/models.py:1907 +#: common/models.py:1874 msgid "Body" msgstr "" -#: common/models.py:1908 +#: common/models.py:1875 msgid "Body of this message" msgstr "" -#: common/models.py:1917 +#: common/models.py:1884 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1922 +#: common/models.py:1889 msgid "Worked on" msgstr "" -#: common/models.py:1923 +#: common/models.py:1890 msgid "Was the work on this message finished?" msgstr "" -#: common/views.py:90 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:115 part/views.py:194 +#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 +#: order/views.py:102 part/views.py:194 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "上传文件" -#: common/views.py:91 order/views.py:116 +#: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/views.py:195 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "匹配字段" -#: common/views.py:92 +#: common/views.py:89 msgid "Match Items" msgstr "匹配项" -#: common/views.py:437 +#: common/views.py:422 msgid "Fields matching failed" msgstr "字段匹配失败" -#: common/views.py:492 +#: common/views.py:483 msgid "Parts imported" msgstr "已导入商品" -#: common/views.py:514 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 #: part/templates/part/import_wizard/match_references.html:19 #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" msgstr "" -#: company/forms.py:20 part/forms.py:41 +#: company/forms.py:16 part/forms.py:22 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:21 part/forms.py:42 +#: company/forms.py:17 part/forms.py:23 msgid "Image URL" msgstr "图片URL" @@ -2597,7 +2615,7 @@ msgstr "" msgid "Link to external company information" msgstr "链接到外部公司信息" -#: company/models.py:131 part/models.py:865 +#: company/models.py:131 part/models.py:805 msgid "Image" msgstr "图片" @@ -2625,9 +2643,9 @@ msgstr "是制造商" msgid "Does this company manufacture parts?" msgstr "该公司制造商品吗?" -#: company/models.py:144 company/serializers.py:291 -#: company/templates/company/company_base.html:106 part/serializers.py:151 -#: part/serializers.py:183 stock/serializers.py:168 +#: company/models.py:144 company/serializers.py:294 +#: company/templates/company/company_base.html:106 part/serializers.py:137 +#: part/serializers.py:168 stock/serializers.py:162 msgid "Currency" msgstr "货币" @@ -2635,16 +2653,16 @@ msgstr "货币" msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:309 company/models.py:540 stock/models.py:607 +#: company/models.py:244 company/models.py:477 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" msgstr "" -#: company/models.py:313 company/models.py:544 +#: company/models.py:248 company/models.py:481 msgid "Select part" msgstr "选择商品" -#: company/models.py:324 company/templates/company/company_base.html:76 +#: company/models.py:259 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:103 #: stock/templates/stock/item_base.html:212 @@ -2656,11 +2674,11 @@ msgstr "选择商品" msgid "Manufacturer" msgstr "制造商" -#: company/models.py:325 templates/js/translated/part.js:236 +#: company/models.py:260 templates/js/translated/part.js:236 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:331 company/templates/company/manufacturer_part.html:101 +#: company/models.py:266 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:111 #: templates/js/translated/company.js:255 #: templates/js/translated/company.js:487 @@ -2670,58 +2688,58 @@ msgstr "选择制造商" msgid "MPN" msgstr "" -#: company/models.py:332 templates/js/translated/part.js:247 +#: company/models.py:267 templates/js/translated/part.js:247 msgid "Manufacturer Part Number" msgstr "制造商商品编号" -#: company/models.py:338 +#: company/models.py:273 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:344 +#: company/models.py:279 msgid "Manufacturer part description" msgstr "制造商商品描述" -#: company/models.py:391 company/models.py:414 company/models.py:563 +#: company/models.py:324 company/models.py:348 company/models.py:500 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:222 msgid "Manufacturer Part" msgstr "制造商商品" -#: company/models.py:421 +#: company/models.py:355 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:427 +#: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2195 templates/js/translated/company.js:540 +#: stock/models.py:2079 templates/js/translated/company.js:540 #: templates/js/translated/company.js:763 templates/js/translated/part.js:776 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "数值" -#: company/models.py:428 +#: company/models.py:362 msgid "Parameter value" msgstr "参数值" -#: company/models.py:434 part/models.py:940 part/models.py:2549 +#: company/models.py:368 part/models.py:878 part/models.py:2339 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:332 #: templates/js/translated/company.js:769 templates/js/translated/part.js:782 msgid "Units" msgstr "单位" -#: company/models.py:435 +#: company/models.py:369 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:507 +#: company/models.py:445 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:550 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:310 +#: company/models.py:487 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:87 order/models.py:303 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 #: templates/js/translated/company.js:254 @@ -2732,67 +2750,67 @@ msgstr "" msgid "Supplier" msgstr "供应商" -#: company/models.py:551 templates/js/translated/part.js:217 +#: company/models.py:488 templates/js/translated/part.js:217 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:556 company/templates/company/supplier_part.html:97 +#: company/models.py:493 company/templates/company/supplier_part.html:97 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:253 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 #: templates/js/translated/part.js:942 msgid "SKU" msgstr "" -#: company/models.py:557 templates/js/translated/part.js:228 +#: company/models.py:494 templates/js/translated/part.js:228 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:564 +#: company/models.py:501 msgid "Select manufacturer part" msgstr "选择制造商商品" -#: company/models.py:570 +#: company/models.py:507 msgid "URL for external supplier part link" msgstr "外部供货商商品链接URL" -#: company/models.py:576 +#: company/models.py:513 msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:581 company/templates/company/supplier_part.html:125 -#: part/models.py:2788 part/templates/part/upload_bom.html:59 +#: company/models.py:518 company/templates/company/supplier_part.html:125 +#: part/models.py:2571 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:398 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:387 msgid "Note" msgstr "备注" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "base cost" msgstr "" -#: company/models.py:585 part/models.py:1858 +#: company/models.py:522 part/models.py:1688 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:587 company/templates/company/supplier_part.html:118 -#: stock/models.py:631 stock/templates/stock/item_base.html:245 +#: company/models.py:524 company/templates/company/supplier_part.html:118 +#: stock/models.py:608 stock/templates/stock/item_base.html:245 #: templates/js/translated/company.js:967 templates/js/translated/stock.js:1912 msgid "Packaging" msgstr "打包" -#: company/models.py:587 +#: company/models.py:524 msgid "Part packaging" msgstr "商品打包" -#: company/models.py:589 part/models.py:1860 +#: company/models.py:526 part/models.py:1690 msgid "multiple" msgstr "" -#: company/models.py:589 +#: company/models.py:526 msgid "Order multiple" msgstr "" -#: company/models.py:713 +#: company/models.py:649 msgid "last updated" msgstr "" @@ -2847,9 +2865,9 @@ msgstr "上传新图片" msgid "Download image from URL" msgstr "从 URL 下载图片" -#: company/templates/company/company_base.html:86 order/models.py:658 -#: order/templates/order/sales_order_base.html:116 stock/models.py:650 -#: stock/models.py:651 stock/serializers.py:714 +#: company/templates/company/company_base.html:86 order/models.py:649 +#: order/templates/order/sales_order_base.html:116 stock/models.py:627 +#: stock/models.py:628 stock/serializers.py:716 #: stock/templates/stock/item_base.html:401 #: templates/js/translated/company.js:385 templates/js/translated/order.js:2458 #: templates/js/translated/stock.js:2431 @@ -2872,7 +2890,7 @@ msgstr "上传图片" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:118 +#: templates/InvenTree/search.html:118 templates/js/translated/search.js:170 msgid "Supplier Parts" msgstr "供应商商品" @@ -2903,6 +2921,7 @@ msgid "Delete Parts" msgstr "删除商品" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 +#: templates/js/translated/search.js:183 msgid "Manufacturer Parts" msgstr "制造商商品" @@ -2927,8 +2946,8 @@ msgstr "供货商库存" #: part/templates/part/detail.html:77 part/templates/part/part_sidebar.html:37 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:198 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/search.js:235 templates/navbar.html:50 -#: users/models.py:43 +#: templates/js/translated/search.js:275 templates/navbar.html:50 +#: users/models.py:41 msgid "Purchase Orders" msgstr "采购订单" @@ -2950,8 +2969,8 @@ msgstr "新建采购订单" #: part/templates/part/detail.html:100 part/templates/part/part_sidebar.html:41 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:218 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/search.js:259 templates/navbar.html:61 -#: users/models.py:44 +#: templates/js/translated/search.js:299 templates/navbar.html:61 +#: users/models.py:42 msgid "Sales Orders" msgstr "销售订单" @@ -2978,7 +2997,7 @@ msgstr "公司备注" msgid "Supplier List" msgstr "供应商列表" -#: company/templates/company/manufacturer_part.html:15 company/views.py:47 +#: company/templates/company/manufacturer_part.html:15 company/views.py:45 #: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" @@ -3011,7 +3030,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:41 +#: company/templates/company/supplier_part.html:15 company/views.py:39 #: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" @@ -3026,7 +3045,7 @@ msgstr "删除供应商商品" #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 #: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:32 -#: users/models.py:220 +#: users/models.py:219 msgid "Delete" msgstr "删除" @@ -3070,7 +3089,7 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:615 +#: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:907 templates/js/translated/order.js:884 #: templates/js/translated/stock.js:1869 @@ -3188,180 +3207,180 @@ msgstr "定价" #: stock/templates/stock/location.html:161 #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:153 templates/js/translated/search.js:183 -#: templates/js/translated/stock.js:2307 users/models.py:41 +#: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 +#: templates/js/translated/stock.js:2307 users/models.py:39 msgid "Stock Items" msgstr "库存项" -#: company/views.py:42 +#: company/views.py:40 msgid "New Supplier" msgstr "新增供应商" -#: company/views.py:48 +#: company/views.py:46 msgid "New Manufacturer" msgstr "新建制造商" -#: company/views.py:53 templates/InvenTree/search.html:209 +#: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" msgstr "客户信息" -#: company/views.py:54 +#: company/views.py:52 msgid "New Customer" msgstr "新建客户" -#: company/views.py:61 templates/js/translated/search.js:212 +#: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" msgstr "公司" -#: company/views.py:62 +#: company/views.py:60 msgid "New Company" msgstr "新建公司信息" -#: company/views.py:121 part/views.py:579 +#: company/views.py:112 part/views.py:579 msgid "Download Image" msgstr "下载图片" -#: company/views.py:150 part/views.py:611 +#: company/views.py:139 part/views.py:609 msgid "Image size exceeds maximum allowable size for download" msgstr "图像大小超过下载允许的最大尺寸" -#: company/views.py:157 part/views.py:618 +#: company/views.py:146 part/views.py:616 #, python-brace-format msgid "Invalid response: {code}" msgstr "无效响应: {code}" -#: company/views.py:166 part/views.py:627 +#: company/views.py:155 part/views.py:625 msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" -#: label/models.py:105 +#: label/models.py:102 msgid "Label name" msgstr "标签名称" -#: label/models.py:112 +#: label/models.py:109 msgid "Label description" msgstr "标签说明" -#: label/models.py:119 +#: label/models.py:116 msgid "Label" msgstr "标签" -#: label/models.py:120 +#: label/models.py:117 msgid "Label template file" msgstr "标签模板文件" -#: label/models.py:126 report/models.py:286 +#: label/models.py:123 report/models.py:253 msgid "Enabled" msgstr "已启用" -#: label/models.py:127 +#: label/models.py:124 msgid "Label template is enabled" msgstr "标签模板已启用" -#: label/models.py:132 +#: label/models.py:129 msgid "Width [mm]" msgstr "宽度 [mm]" -#: label/models.py:133 +#: label/models.py:130 msgid "Label width, specified in mm" msgstr "标注宽度,以毫米为单位。" -#: label/models.py:139 +#: label/models.py:136 msgid "Height [mm]" msgstr "高度 [mm]" -#: label/models.py:140 +#: label/models.py:137 msgid "Label height, specified in mm" msgstr "标注高度,以毫米为单位。" -#: label/models.py:146 report/models.py:279 +#: label/models.py:143 report/models.py:246 msgid "Filename Pattern" msgstr "文件名样式" -#: label/models.py:147 +#: label/models.py:144 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 +#: label/models.py:233 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "查询筛选器 (逗号分隔的键值对列表)" -#: label/models.py:251 label/models.py:295 label/models.py:327 -#: report/models.py:310 report/models.py:447 report/models.py:486 +#: label/models.py:234 label/models.py:274 label/models.py:302 +#: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" msgstr "筛选器" -#: label/models.py:294 +#: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" msgstr "查询筛选器 (逗号分隔的键值对列表" -#: label/models.py:326 +#: label/models.py:301 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "商品查询筛选器 (逗号分隔的键值对列表)" -#: order/models.py:137 +#: order/models.py:133 msgid "Order description" msgstr "" -#: order/models.py:139 order/models.py:1274 +#: order/models.py:135 order/models.py:1236 msgid "Link to external page" msgstr "" -#: order/models.py:147 +#: order/models.py:143 msgid "Created By" msgstr "" -#: order/models.py:154 +#: order/models.py:150 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:159 +#: order/models.py:155 msgid "Order notes" msgstr "" -#: order/models.py:296 order/models.py:648 +#: order/models.py:289 order/models.py:639 msgid "Order reference" msgstr "" -#: order/models.py:301 order/models.py:663 +#: order/models.py:294 order/models.py:654 msgid "Purchase order status" msgstr "" -#: order/models.py:311 +#: order/models.py:304 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:314 order/templates/order/order_base.html:124 +#: order/models.py:307 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:314 +#: order/models.py:307 msgid "Supplier order reference code" msgstr "" -#: order/models.py:321 +#: order/models.py:314 msgid "received by" msgstr "" -#: order/models.py:326 +#: order/models.py:319 msgid "Issue Date" msgstr "" -#: order/models.py:327 +#: order/models.py:320 msgid "Date order was issued" msgstr "" -#: order/models.py:332 +#: order/models.py:325 msgid "Target Delivery Date" msgstr "" -#: order/models.py:333 +#: order/models.py:326 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:339 +#: order/models.py:332 msgid "Date order was completed" msgstr "" @@ -3369,94 +3388,94 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:514 +#: order/models.py:512 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:659 +#: order/models.py:650 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer Reference " msgstr "" -#: order/models.py:665 +#: order/models.py:656 msgid "Customer order reference code" msgstr "" -#: order/models.py:670 +#: order/models.py:661 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:673 order/models.py:1228 +#: order/models.py:664 order/models.py:1190 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:680 +#: order/models.py:671 msgid "shipped by" msgstr "" -#: order/models.py:746 +#: order/models.py:726 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:750 +#: order/models.py:730 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:753 +#: order/models.py:733 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:756 +#: order/models.py:736 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:936 +#: order/models.py:910 msgid "Item quantity" msgstr "" -#: order/models.py:942 +#: order/models.py:916 msgid "Line item reference" msgstr "" -#: order/models.py:944 +#: order/models.py:918 msgid "Line item notes" msgstr "" -#: order/models.py:949 +#: order/models.py:923 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:967 +#: order/models.py:941 msgid "Context" msgstr "" -#: order/models.py:968 +#: order/models.py:942 msgid "Additional context for this line" msgstr "" -#: order/models.py:976 +#: order/models.py:950 msgid "Unit price" msgstr "" -#: order/models.py:1009 +#: order/models.py:980 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1016 +#: order/models.py:988 msgid "deleted" msgstr "" -#: order/models.py:1022 order/models.py:1104 order/models.py:1126 -#: order/models.py:1222 order/models.py:1357 +#: order/models.py:994 order/models.py:1074 order/models.py:1099 +#: order/models.py:1184 order/models.py:1320 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:1023 order/models.py:1104 +#: order/models.py:995 order/models.py:1074 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 @@ -3467,182 +3486,182 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/models.py:1042 +#: order/models.py:1013 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1049 order/templates/order/order_base.html:169 +#: order/models.py:1020 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 #: templates/js/translated/part.js:993 templates/js/translated/part.js:1020 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1050 +#: order/models.py:1021 msgid "Number of items received" msgstr "" -#: order/models.py:1057 part/templates/part/prices.html:179 stock/models.py:745 -#: stock/serializers.py:159 stock/templates/stock/item_base.html:191 +#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: stock/serializers.py:153 stock/templates/stock/item_base.html:191 #: templates/js/translated/stock.js:1900 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1058 +#: order/models.py:1029 msgid "Unit purchase price" msgstr "" -#: order/models.py:1066 +#: order/models.py:1037 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1136 part/templates/part/part_pricing.html:112 +#: order/models.py:1109 part/templates/part/part_pricing.html:112 #: part/templates/part/prices.html:119 part/templates/part/prices.html:288 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1137 +#: order/models.py:1110 msgid "Unit sale price" msgstr "" -#: order/models.py:1142 +#: order/models.py:1115 msgid "Shipped quantity" msgstr "" -#: order/models.py:1229 +#: order/models.py:1191 msgid "Date of shipment" msgstr "" -#: order/models.py:1236 +#: order/models.py:1198 msgid "Checked By" msgstr "" -#: order/models.py:1237 +#: order/models.py:1199 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1245 +#: order/models.py:1207 msgid "Shipment number" msgstr "" -#: order/models.py:1252 +#: order/models.py:1214 msgid "Shipment notes" msgstr "" -#: order/models.py:1259 +#: order/models.py:1221 msgid "Tracking Number" msgstr "" -#: order/models.py:1260 +#: order/models.py:1222 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1267 +#: order/models.py:1229 msgid "Invoice Number" msgstr "" -#: order/models.py:1268 +#: order/models.py:1230 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1285 +#: order/models.py:1248 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1288 +#: order/models.py:1251 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1395 order/models.py:1397 +#: order/models.py:1354 order/models.py:1356 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1401 +#: order/models.py:1360 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1403 +#: order/models.py:1362 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1406 +#: order/models.py:1365 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1410 +#: order/models.py:1369 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1416 order/serializers.py:1008 +#: order/models.py:1375 order/serializers.py:1045 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1419 +#: order/models.py:1378 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1420 +#: order/models.py:1379 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1428 +#: order/models.py:1387 msgid "Line" msgstr "" -#: order/models.py:1436 order/serializers.py:1118 order/serializers.py:1246 +#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1437 +#: order/models.py:1396 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1449 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1450 +#: order/models.py:1409 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1453 +#: order/models.py:1412 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:69 +#: order/serializers.py:68 msgid "Price currency" msgstr "" -#: order/serializers.py:198 +#: order/serializers.py:192 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:296 +#: order/serializers.py:287 msgid "Order is not open" msgstr "" -#: order/serializers.py:320 +#: order/serializers.py:311 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:334 +#: order/serializers.py:330 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:339 +#: order/serializers.py:335 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:345 +#: order/serializers.py:341 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:346 +#: order/serializers.py:342 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1083 +#: order/serializers.py:406 order/serializers.py:1117 msgid "Line Item" msgstr "" @@ -3650,7 +3669,7 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:422 order/serializers.py:527 +#: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" msgstr "" @@ -3670,59 +3689,59 @@ msgstr "" msgid "Unique identifier field" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:477 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:499 +#: order/serializers.py:500 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:539 +#: order/serializers.py:542 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:556 +#: order/serializers.py:559 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:567 +#: order/serializers.py:570 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:842 +#: order/serializers.py:866 msgid "Sale price currency" msgstr "" -#: order/serializers.py:917 +#: order/serializers.py:947 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:973 order/serializers.py:1095 +#: order/serializers.py:1006 order/serializers.py:1126 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:995 +#: order/serializers.py:1028 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1108 +#: order/serializers.py:1139 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1132 order/serializers.py:1257 +#: order/serializers.py:1161 order/serializers.py:1281 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1135 order/serializers.py:1260 +#: order/serializers.py:1164 order/serializers.py:1284 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1187 +#: order/serializers.py:1214 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1197 +#: order/serializers.py:1224 msgid "The following serial numbers are already allocated" msgstr "" @@ -3970,7 +3989,8 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/js/translated/bom.js:1053 templates/js/translated/build.js:1880 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -3978,201 +3998,202 @@ msgstr "" msgid "New Shipment" msgstr "" -#: order/views.py:117 +#: order/views.py:104 msgid "Match Supplier Parts" msgstr "" -#: order/views.py:390 +#: order/views.py:377 msgid "Sales order not found" msgstr "" -#: order/views.py:396 +#: order/views.py:383 msgid "Price not found" msgstr "" -#: order/views.py:399 +#: order/views.py:386 #, python-brace-format msgid "Updated {part} unit-price to {price}" msgstr "" -#: order/views.py:404 +#: order/views.py:391 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:504 +#: part/api.py:474 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:524 +#: part/api.py:494 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:542 +#: part/api.py:512 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:574 +#: part/api.py:544 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:665 +#: part/api.py:630 msgid "Valid" msgstr "" -#: part/api.py:666 +#: part/api.py:631 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:671 +#: part/api.py:637 msgid "This option must be selected" msgstr "" -#: part/api.py:1043 +#: part/api.py:1003 msgid "Must be greater than zero" msgstr "必须大于0" -#: part/api.py:1047 +#: part/api.py:1007 msgid "Must be a valid quantity" msgstr "必须是有效的数量" -#: part/api.py:1062 +#: part/api.py:1022 msgid "Specify location for initial part stock" msgstr "指定初始初始商品仓储地点" -#: part/api.py:1093 part/api.py:1097 part/api.py:1112 part/api.py:1116 +#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 msgid "This field is required" msgstr "此字段为必填" -#: part/bom.py:125 part/models.py:99 part/models.py:874 +#: part/bom.py:127 part/models.py:98 part/models.py:814 #: part/templates/part/category.html:108 part/templates/part/part_base.html:330 msgid "Default Location" msgstr "默认仓储地点" -#: part/bom.py:126 templates/email/low_stock_notification.html:17 +#: part/bom.py:128 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:127 part/templates/part/part_base.html:189 +#: part/bom.py:129 part/templates/part/part_base.html:189 +#: templates/js/translated/order.js:3543 msgid "Available Stock" msgstr "可用库存" -#: part/bom.py:128 part/templates/part/part_base.html:207 +#: part/bom.py:130 part/templates/part/part_base.html:207 #: templates/js/translated/part.js:517 templates/js/translated/part.js:537 #: templates/js/translated/part.js:1229 templates/js/translated/part.js:1401 #: templates/js/translated/part.js:1417 msgid "On Order" msgstr "" -#: part/forms.py:79 +#: part/forms.py:60 msgid "Select part category" msgstr "选择类别" -#: part/forms.py:98 +#: part/forms.py:80 msgid "Add parameter template to same level categories" msgstr "" -#: part/forms.py:102 +#: part/forms.py:84 msgid "Add parameter template to all categories" msgstr "" -#: part/forms.py:122 +#: part/forms.py:105 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:100 +#: part/models.py:99 msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords" msgstr "" -#: part/models.py:103 +#: part/models.py:102 msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:113 part/models.py:2625 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" -#: part/models.py:114 part/templates/part/category.html:128 -#: templates/InvenTree/search.html:95 templates/js/translated/search.js:158 -#: users/models.py:38 +#: part/models.py:116 part/templates/part/category.html:128 +#: templates/InvenTree/search.html:95 templates/js/translated/search.js:198 +#: users/models.py:36 msgid "Part Categories" msgstr "商品类别" -#: part/models.py:355 part/templates/part/cat_link.html:3 +#: part/models.py:337 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:17 part/templates/part/category.html:133 #: part/templates/part/category.html:153 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82 #: templates/InvenTree/settings/sidebar.html:39 #: templates/js/translated/part.js:1768 templates/js/translated/search.js:144 -#: templates/navbar.html:24 users/models.py:39 +#: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "商品" -#: part/models.py:447 +#: part/models.py:422 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:522 part/models.py:534 +#: part/models.py:492 part/models.py:504 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:664 +#: part/models.py:621 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:668 +#: part/models.py:625 msgid "Next available serial number is" msgstr "" -#: part/models.py:673 +#: part/models.py:630 msgid "Most recent serial number is" msgstr "" -#: part/models.py:769 +#: part/models.py:711 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:798 part/models.py:2678 +#: part/models.py:738 part/models.py:2467 msgid "Part name" msgstr "商品名称" -#: part/models.py:805 +#: part/models.py:745 msgid "Is Template" msgstr "" -#: part/models.py:806 +#: part/models.py:746 msgid "Is this part a template part?" msgstr "" -#: part/models.py:816 +#: part/models.py:756 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:817 +#: part/models.py:757 msgid "Variant Of" msgstr "" -#: part/models.py:823 +#: part/models.py:763 msgid "Part description" msgstr "商品描述" -#: part/models.py:828 part/templates/part/category.html:86 +#: part/models.py:768 part/templates/part/category.html:86 #: part/templates/part/part_base.html:294 msgid "Keywords" msgstr "关键词" -#: part/models.py:829 +#: part/models.py:769 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:836 part/models.py:2375 part/models.py:2624 +#: part/models.py:776 part/models.py:2171 part/models.py:2412 #: part/templates/part/part_base.html:257 #: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 @@ -4181,432 +4202,432 @@ msgstr "提高搜索结果可见性的关键字" msgid "Category" msgstr "类别" -#: part/models.py:837 +#: part/models.py:777 msgid "Part category" msgstr "商品类别" -#: part/models.py:842 part/templates/part/part_base.html:266 +#: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:666 templates/js/translated/part.js:1322 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" -#: part/models.py:843 +#: part/models.py:783 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:849 +#: part/models.py:789 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:850 part/templates/part/part_base.html:273 -#: report/models.py:188 templates/js/translated/part.js:670 +#: part/models.py:790 part/templates/part/part_base.html:273 +#: report/models.py:170 templates/js/translated/part.js:670 msgid "Revision" msgstr "" -#: part/models.py:872 +#: part/models.py:812 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:919 part/templates/part/part_base.html:339 +#: part/models.py:857 part/templates/part/part_base.html:339 msgid "Default Supplier" msgstr "" -#: part/models.py:920 +#: part/models.py:858 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:927 +#: part/models.py:865 msgid "Default Expiry" msgstr "" -#: part/models.py:928 +#: part/models.py:866 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:200 +#: part/models.py:871 part/templates/part/part_base.html:200 msgid "Minimum Stock" msgstr "最低库存" -#: part/models.py:934 +#: part/models.py:872 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:941 +#: part/models.py:879 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:947 +#: part/models.py:885 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:953 +#: part/models.py:891 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:959 +#: part/models.py:897 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:964 +#: part/models.py:902 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:969 +#: part/models.py:907 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:974 +#: part/models.py:912 msgid "Is this part active?" msgstr "" -#: part/models.py:979 +#: part/models.py:917 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:984 +#: part/models.py:922 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "BOM checksum" msgstr "" -#: part/models.py:987 +#: part/models.py:925 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:990 +#: part/models.py:928 msgid "BOM checked by" msgstr "" -#: part/models.py:992 +#: part/models.py:930 msgid "BOM checked date" msgstr "" -#: part/models.py:996 +#: part/models.py:934 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1860 +#: part/models.py:1690 msgid "Sell multiple" msgstr "" -#: part/models.py:2425 +#: part/models.py:2218 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2442 +#: part/models.py:2235 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2462 templates/js/translated/part.js:1819 +#: part/models.py:2255 templates/js/translated/part.js:1819 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2463 +#: part/models.py:2256 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2468 +#: part/models.py:2261 msgid "Test Description" msgstr "" -#: part/models.py:2469 +#: part/models.py:2262 msgid "Enter description for this test" msgstr "" -#: part/models.py:2474 templates/js/translated/part.js:1828 +#: part/models.py:2267 templates/js/translated/part.js:1828 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2475 +#: part/models.py:2268 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2480 templates/js/translated/part.js:1836 +#: part/models.py:2273 templates/js/translated/part.js:1836 msgid "Requires Value" msgstr "" -#: part/models.py:2481 +#: part/models.py:2274 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2486 templates/js/translated/part.js:1843 +#: part/models.py:2279 templates/js/translated/part.js:1843 msgid "Requires Attachment" msgstr "" -#: part/models.py:2487 +#: part/models.py:2280 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2498 +#: part/models.py:2288 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2534 +#: part/models.py:2324 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2542 +#: part/models.py:2332 msgid "Parameter Name" msgstr "" -#: part/models.py:2549 +#: part/models.py:2339 msgid "Parameter Units" msgstr "" -#: part/models.py:2579 +#: part/models.py:2370 msgid "Parent Part" msgstr "" -#: part/models.py:2581 part/models.py:2630 part/models.py:2631 +#: part/models.py:2372 part/models.py:2418 part/models.py:2419 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Data" msgstr "" -#: part/models.py:2583 +#: part/models.py:2374 msgid "Parameter Value" msgstr "" -#: part/models.py:2635 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "默认值" -#: part/models.py:2636 +#: part/models.py:2424 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2670 +#: part/models.py:2459 msgid "Part ID or part name" msgstr "" -#: part/models.py:2673 templates/js/translated/model_renderers.js:200 +#: part/models.py:2462 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "商品ID" -#: part/models.py:2674 +#: part/models.py:2463 msgid "Unique part ID value" msgstr "" -#: part/models.py:2677 +#: part/models.py:2466 msgid "Part Name" msgstr "" -#: part/models.py:2681 +#: part/models.py:2470 msgid "Part IPN" msgstr "" -#: part/models.py:2682 +#: part/models.py:2471 msgid "Part IPN value" msgstr "" -#: part/models.py:2685 +#: part/models.py:2474 msgid "Level" msgstr "" -#: part/models.py:2686 +#: part/models.py:2475 msgid "BOM level" msgstr "" -#: part/models.py:2761 +#: part/models.py:2544 msgid "Select parent part" msgstr "" -#: part/models.py:2769 +#: part/models.py:2552 msgid "Sub part" msgstr "" -#: part/models.py:2770 +#: part/models.py:2553 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2776 +#: part/models.py:2559 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2778 part/templates/part/upload_bom.html:58 +#: part/models.py:2561 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "可选项" -#: part/models.py:2778 +#: part/models.py:2561 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2781 part/templates/part/upload_bom.html:55 +#: part/models.py:2564 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2782 +#: part/models.py:2565 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2785 +#: part/models.py:2568 msgid "BOM item reference" msgstr "" -#: part/models.py:2788 +#: part/models.py:2571 msgid "BOM item notes" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "Checksum" msgstr "" -#: part/models.py:2790 +#: part/models.py:2573 msgid "BOM line checksum" msgstr "" -#: part/models.py:2794 part/templates/part/upload_bom.html:57 +#: part/models.py:2577 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:988 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "继承项" -#: part/models.py:2795 +#: part/models.py:2578 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2800 part/templates/part/upload_bom.html:56 +#: part/models.py:2583 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2801 +#: part/models.py:2584 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2886 stock/models.py:486 +#: part/models.py:2662 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2895 part/models.py:2897 +#: part/models.py:2671 part/models.py:2673 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3009 +#: part/models.py:2778 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3031 +#: part/models.py:2799 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3043 +#: part/models.py:2812 msgid "Parent BOM item" msgstr "" -#: part/models.py:3051 +#: part/models.py:2820 msgid "Substitute part" msgstr "" -#: part/models.py:3062 +#: part/models.py:2831 msgid "Part 1" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Part 2" msgstr "" -#: part/models.py:3066 +#: part/models.py:2835 msgid "Select Related Part" msgstr "" -#: part/models.py:3098 +#: part/models.py:2866 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" -#: part/serializers.py:152 part/serializers.py:184 stock/serializers.py:169 +#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:918 +#: part/serializers.py:794 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:929 +#: part/serializers.py:802 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:930 +#: part/serializers.py:803 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:808 msgid "Include Inherited" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:809 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:814 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:815 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:947 +#: part/serializers.py:820 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:821 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:992 +#: part/serializers.py:861 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:862 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:892 msgid "No part column specified" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:935 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1066 +#: part/serializers.py:938 msgid "No matching part found" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:941 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1078 +#: part/serializers.py:950 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:958 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1105 +#: part/serializers.py:979 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:14 +#: part/tasks.py:21 msgid "Low stock notification" msgstr "" -#: part/tasks.py:15 +#: part/tasks.py:22 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5091,7 +5112,7 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3543 +#: part/templates/part/part_base.html:194 #: templates/js/translated/table_filters.js:193 msgid "In Stock" msgstr "" @@ -5384,20 +5405,20 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:186 +#: part/templatetags/inventree_extras.py:158 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:223 +#: part/templatetags/inventree_extras.py:193 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:74 +#: part/views.py:77 msgid "Set Part Category" msgstr "设置商品类别" -#: part/views.py:124 +#: part/views.py:125 #, python-brace-format msgid "Set category for {n} parts" msgstr "为 {n} 个商品设置类别" @@ -5410,79 +5431,79 @@ msgstr "" msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:559 msgid "Part QR Code" msgstr "商品二维码" -#: part/views.py:658 +#: part/views.py:653 msgid "Select Part Image" msgstr "选择商品图像" -#: part/views.py:684 +#: part/views.py:679 msgid "Updated part image" msgstr "更新商品图像" -#: part/views.py:687 +#: part/views.py:682 msgid "Part image not found" msgstr "未找到商品图像" -#: part/views.py:775 +#: part/views.py:771 msgid "Confirm Part Deletion" msgstr "确认删除商品" -#: part/views.py:782 +#: part/views.py:779 msgid "Part was deleted" msgstr "商品已删除" -#: part/views.py:791 +#: part/views.py:788 msgid "Part Pricing" msgstr "商品价格" -#: part/views.py:940 +#: part/views.py:938 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:950 +#: part/views.py:946 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:957 +#: part/views.py:953 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:999 +#: part/views.py:1002 msgid "Delete Part Category" msgstr "删除商品类别" -#: part/views.py:1005 +#: part/views.py:1009 msgid "Part category was deleted" msgstr "商品类别已删除" -#: part/views.py:1014 +#: part/views.py:1018 msgid "Create Category Parameter Template" msgstr "创建类别参数模板" -#: part/views.py:1115 +#: part/views.py:1118 msgid "Edit Category Parameter Template" msgstr "编辑类别参数模板" -#: part/views.py:1171 +#: part/views.py:1179 msgid "Delete Category Parameter Template" msgstr "删除类别参数模板" -#: plugin/apps.py:48 +#: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" -#: plugin/base/action/api.py:28 +#: plugin/base/action/api.py:27 msgid "No action specified" msgstr "未指定操作" -#: plugin/base/action/api.py:39 +#: plugin/base/action/api.py:38 msgid "No matching action found" msgstr "未找到指定操作" -#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:152 +#: plugin/base/barcodes/api.py:52 plugin/base/barcodes/api.py:154 msgid "Must provide barcode_data parameter" msgstr "必须提供条码数据参数" @@ -5494,31 +5515,31 @@ msgstr "未找到匹配条形码数据" msgid "Match found for barcode data" msgstr "找到匹配条形码数据" -#: plugin/base/barcodes/api.py:155 +#: plugin/base/barcodes/api.py:157 msgid "Must provide stockitem parameter" msgstr "必须提供库存项参数" -#: plugin/base/barcodes/api.py:162 +#: plugin/base/barcodes/api.py:164 msgid "No matching stock item found" msgstr "未找到匹配的库存项" -#: plugin/base/barcodes/api.py:192 +#: plugin/base/barcodes/api.py:194 msgid "Barcode already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:196 +#: plugin/base/barcodes/api.py:198 msgid "Barcode already matches Stock Location" msgstr "" -#: plugin/base/barcodes/api.py:200 +#: plugin/base/barcodes/api.py:202 msgid "Barcode already matches Part" msgstr "" -#: plugin/base/barcodes/api.py:206 plugin/base/barcodes/api.py:218 +#: plugin/base/barcodes/api.py:208 plugin/base/barcodes/api.py:220 msgid "Barcode hash already matches Stock Item" msgstr "" -#: plugin/base/barcodes/api.py:224 +#: plugin/base/barcodes/api.py:226 msgid "Barcode associated with Stock Item" msgstr "" @@ -5526,226 +5547,226 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:24 +#: plugin/builtin/integration/core_notifications.py:28 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:25 +#: plugin/builtin/integration/core_notifications.py:29 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 -#: plugin/builtin/integration/core_notifications.py:47 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/models.py:35 +#: plugin/models.py:32 msgid "Plugin Metadata" msgstr "" -#: plugin/models.py:36 +#: plugin/models.py:33 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: plugin/models.py:85 +#: plugin/models.py:79 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:80 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:91 +#: plugin/models.py:85 msgid "Key" msgstr "" -#: plugin/models.py:92 +#: plugin/models.py:86 msgid "Key of plugin" msgstr "" -#: plugin/models.py:100 +#: plugin/models.py:94 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:106 +#: plugin/models.py:100 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:179 +#: plugin/models.py:168 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:231 msgid "Method" msgstr "" -#: plugin/plugin.py:246 +#: plugin/plugin.py:214 msgid "No author found" msgstr "" -#: plugin/plugin.py:260 +#: plugin/plugin.py:226 msgid "No date found" msgstr "" -#: plugin/samples/integration/sample.py:42 +#: plugin/samples/integration/sample.py:39 msgid "Enable PO" msgstr "" -#: plugin/samples/integration/sample.py:43 +#: plugin/samples/integration/sample.py:40 msgid "Enable PO functionality in InvenTree interface" msgstr "" -#: plugin/samples/integration/sample.py:48 +#: plugin/samples/integration/sample.py:45 msgid "API Key" msgstr "" -#: plugin/samples/integration/sample.py:49 +#: plugin/samples/integration/sample.py:46 msgid "Key required for accessing external API" msgstr "" -#: plugin/samples/integration/sample.py:52 +#: plugin/samples/integration/sample.py:49 msgid "Numerical" msgstr "" -#: plugin/samples/integration/sample.py:53 +#: plugin/samples/integration/sample.py:50 msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:58 +#: plugin/samples/integration/sample.py:55 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:59 +#: plugin/samples/integration/sample.py:56 msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:74 +#: plugin/serializers.py:73 msgid "Source URL" msgstr "" -#: plugin/serializers.py:75 +#: plugin/serializers.py:74 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:80 +#: plugin/serializers.py:79 msgid "Package Name" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:80 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:84 +#: plugin/serializers.py:83 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:85 +#: plugin/serializers.py:84 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:104 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:102 +#: plugin/serializers.py:106 msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:191 +#: report/api.py:166 msgid "No valid objects provided to template" msgstr "没有为模板提供有效对象" -#: report/api.py:223 report/api.py:270 +#: report/api.py:198 report/api.py:239 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/models.py:170 +#: report/models.py:152 msgid "Template name" msgstr "" -#: report/models.py:176 +#: report/models.py:158 msgid "Report template file" msgstr "" -#: report/models.py:183 +#: report/models.py:165 msgid "Report template description" msgstr "" -#: report/models.py:189 +#: report/models.py:171 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:280 +#: report/models.py:247 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:287 +#: report/models.py:254 msgid "Report template is enabled" msgstr "" -#: report/models.py:311 +#: report/models.py:280 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:319 +#: report/models.py:288 msgid "Include Installed Tests" msgstr "" -#: report/models.py:320 +#: report/models.py:289 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:370 +#: report/models.py:336 msgid "Build Filters" msgstr "" -#: report/models.py:371 +#: report/models.py:337 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:413 +#: report/models.py:376 msgid "Part Filters" msgstr "商品过滤器" -#: report/models.py:414 +#: report/models.py:377 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:411 msgid "Purchase order query filters" msgstr "" -#: report/models.py:487 +#: report/models.py:450 msgid "Sales order query filters" msgstr "" -#: report/models.py:542 +#: report/models.py:504 msgid "Snippet" msgstr "" -#: report/models.py:543 +#: report/models.py:505 msgid "Report snippet file" msgstr "" -#: report/models.py:547 +#: report/models.py:509 msgid "Snippet file description" msgstr "" -#: report/models.py:582 +#: report/models.py:546 msgid "Asset" msgstr "" -#: report/models.py:583 +#: report/models.py:547 msgid "Report asset file" msgstr "" -#: report/models.py:586 +#: report/models.py:550 msgid "Asset file description" msgstr "" @@ -5762,7 +5783,7 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:655 stock/templates/stock/item_base.html:322 +#: stock/models.py:632 stock/templates/stock/item_base.html:322 #: templates/js/translated/build.js:420 templates/js/translated/build.js:572 #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1671 #: templates/js/translated/model_renderers.js:106 @@ -5776,12 +5797,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2183 +#: stock/models.py:2067 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2189 +#: stock/models.py:2073 msgid "Result" msgstr "" @@ -5811,362 +5832,362 @@ msgstr "" msgid "Serial" msgstr "" -#: stock/api.py:542 +#: stock/api.py:499 msgid "Quantity is required" msgstr "" -#: stock/api.py:549 +#: stock/api.py:506 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:574 +#: stock/api.py:531 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:82 stock/models.py:750 +#: stock/models.py:83 stock/models.py:727 #: stock/templates/stock/item_base.html:252 msgid "Owner" msgstr "" -#: stock/models.py:83 stock/models.py:751 +#: stock/models.py:84 stock/models.py:728 msgid "Select Owner" msgstr "" -#: stock/models.py:459 +#: stock/models.py:435 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:503 +#: stock/models.py:477 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "商品类型 ('{pf}') 必须是 {pe}" -#: stock/models.py:513 stock/models.py:522 +#: stock/models.py:487 stock/models.py:496 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:514 +#: stock/models.py:488 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:536 +#: stock/models.py:510 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:542 +#: stock/models.py:516 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:556 +#: stock/models.py:530 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:599 +#: stock/models.py:576 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:608 +#: stock/models.py:585 msgid "Base part" msgstr "" -#: stock/models.py:616 +#: stock/models.py:593 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:622 stock/templates/stock/location.html:17 +#: stock/models.py:599 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "仓储地点" -#: stock/models.py:625 +#: stock/models.py:602 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:632 +#: stock/models.py:609 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:638 stock/templates/stock/item_base.html:361 +#: stock/models.py:615 stock/templates/stock/item_base.html:361 msgid "Installed In" msgstr "" -#: stock/models.py:641 +#: stock/models.py:618 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:657 +#: stock/models.py:634 msgid "Serial number for this item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:648 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:676 +#: stock/models.py:653 msgid "Stock Quantity" msgstr "" -#: stock/models.py:685 +#: stock/models.py:662 msgid "Source Build" msgstr "" -#: stock/models.py:687 +#: stock/models.py:664 msgid "Build for this stock item" msgstr "" -#: stock/models.py:698 +#: stock/models.py:675 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:701 +#: stock/models.py:678 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:707 +#: stock/models.py:684 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:713 stock/templates/stock/item_base.html:429 +#: stock/models.py:690 stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:1816 msgid "Expiry Date" msgstr "" -#: stock/models.py:714 +#: stock/models.py:691 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete on deplete" msgstr "" -#: stock/models.py:727 +#: stock/models.py:704 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:737 stock/templates/stock/item.html:137 +#: stock/models.py:714 stock/templates/stock/item.html:137 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:746 +#: stock/models.py:723 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:778 +#: stock/models.py:751 msgid "Converted to part" msgstr "" -#: stock/models.py:1298 +#: stock/models.py:1229 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1235 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1310 +#: stock/models.py:1241 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1313 +#: stock/models.py:1244 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1316 +#: stock/models.py:1247 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1323 +#: stock/models.py:1254 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1394 +#: stock/models.py:1320 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1397 +#: stock/models.py:1323 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1326 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1403 +#: stock/models.py:1329 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1332 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1409 +#: stock/models.py:1335 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1416 stock/serializers.py:863 +#: stock/models.py:1342 stock/serializers.py:866 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1420 +#: stock/models.py:1346 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1424 +#: stock/models.py:1350 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1428 +#: stock/models.py:1354 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1600 +#: stock/models.py:1523 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2103 +#: stock/models.py:1985 msgid "Entry notes" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2043 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2166 +#: stock/models.py:2049 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2184 +#: stock/models.py:2068 msgid "Test name" msgstr "" -#: stock/models.py:2190 +#: stock/models.py:2074 msgid "Test result" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2080 msgid "Test output value" msgstr "" -#: stock/models.py:2203 +#: stock/models.py:2087 msgid "Test result attachment" msgstr "" -#: stock/models.py:2209 +#: stock/models.py:2093 msgid "Test notes" msgstr "" -#: stock/serializers.py:162 +#: stock/serializers.py:156 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:283 +#: stock/serializers.py:280 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:292 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:315 stock/serializers.py:820 stock/serializers.py:1061 +#: stock/serializers.py:309 stock/serializers.py:823 stock/serializers.py:1056 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:322 +#: stock/serializers.py:316 msgid "Optional note field" msgstr "" -#: stock/serializers.py:335 +#: stock/serializers.py:326 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:352 +#: stock/serializers.py:343 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/serializers.py:394 +#: stock/serializers.py:383 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:396 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:417 +#: stock/serializers.py:403 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:455 +#: stock/serializers.py:440 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:460 +#: stock/serializers.py:445 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:677 +#: stock/serializers.py:678 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:682 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:685 +#: stock/serializers.py:686 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:717 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:721 +#: stock/serializers.py:723 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:729 +#: stock/serializers.py:731 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:739 stock/serializers.py:969 +#: stock/serializers.py:741 stock/serializers.py:972 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:827 +#: stock/serializers.py:830 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:835 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:836 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:838 +#: stock/serializers.py:841 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:839 +#: stock/serializers.py:842 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:849 +#: stock/serializers.py:852 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:931 +#: stock/serializers.py:934 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:959 +#: stock/serializers.py:962 msgid "Stock transaction notes" msgstr "" @@ -6483,7 +6504,7 @@ msgid "Sublocations" msgstr "" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 -#: templates/js/translated/search.js:198 users/models.py:40 +#: templates/js/translated/search.js:238 users/models.py:38 msgid "Stock Locations" msgstr "仓储地点" @@ -6535,7 +6556,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:227 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:213 msgid "Convert Stock Item" msgstr "" @@ -6560,55 +6581,55 @@ msgstr "" msgid "Are you sure you want to delete this stock tracking entry?" msgstr "" -#: stock/views.py:125 +#: stock/views.py:115 msgid "Stock Location QR code" msgstr "仓储地点二维码" -#: stock/views.py:144 +#: stock/views.py:132 msgid "Return to Stock" msgstr "" -#: stock/views.py:153 +#: stock/views.py:141 msgid "Specify a valid location" msgstr "指定一个有效仓储地点" -#: stock/views.py:164 +#: stock/views.py:153 msgid "Stock item returned from customer" msgstr "" -#: stock/views.py:175 +#: stock/views.py:162 msgid "Delete All Test Data" msgstr "" -#: stock/views.py:192 +#: stock/views.py:180 msgid "Confirm test data deletion" msgstr "" -#: stock/views.py:193 +#: stock/views.py:181 msgid "Check the confirmation box" msgstr "选中确认框" -#: stock/views.py:208 +#: stock/views.py:196 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:264 +#: stock/views.py:247 msgid "Delete Stock Location" msgstr "删除仓储地点" -#: stock/views.py:277 +#: stock/views.py:260 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:288 +#: stock/views.py:271 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:295 +#: stock/views.py:278 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:304 +#: stock/views.py:286 msgid "Add Stock Tracking Entry" msgstr "" @@ -6882,7 +6903,7 @@ msgid "Install Plugin" msgstr "" #: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137 -#: users/models.py:37 +#: users/models.py:35 msgid "Admin" msgstr "管理员" @@ -7568,6 +7589,14 @@ msgstr "" msgid "Add Attachment" msgstr "添加附件" +#: templates/attachment_table.html:11 +msgid "Delete selected attachments" +msgstr "" + +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +msgid "Delete Attachments" +msgstr "" + #: templates/base.html:101 msgid "Server Restart Required" msgstr "" @@ -7704,31 +7733,27 @@ msgstr "" msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:78 +#: templates/js/translated/attachment.js:96 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:156 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:100 +#: templates/js/translated/attachment.js:180 msgid "Edit Attachment" msgstr "编辑附件" -#: templates/js/translated/attachment.js:110 -msgid "Confirm Delete" -msgstr "" - -#: templates/js/translated/attachment.js:111 -msgid "Delete Attachment" -msgstr "删除附件" - -#: templates/js/translated/attachment.js:167 +#: templates/js/translated/attachment.js:246 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:183 +#: templates/js/translated/attachment.js:262 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:190 +#: templates/js/translated/attachment.js:269 msgid "Delete attachment" msgstr "" @@ -7945,6 +7970,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" @@ -8173,20 +8199,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1808 +#: templates/js/translated/build.js:1808 templates/js/translated/order.js:3568 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1810 +#: templates/js/translated/build.js:1810 templates/js/translated/order.js:3566 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1839 templates/js/translated/build.js:2084 -#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3553 +#: templates/js/translated/build.js:2657 templates/js/translated/order.js:3579 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3633 +#: templates/js/translated/build.js:1887 templates/js/translated/order.js:3659 msgid "Build stock" msgstr "" @@ -8194,7 +8220,7 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3626 +#: templates/js/translated/build.js:1894 templates/js/translated/order.js:3652 msgid "Allocate stock" msgstr "" @@ -8846,15 +8872,15 @@ msgstr "" msgid "Items" msgstr "" -#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3685 +#: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3707 +#: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3718 +#: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" msgstr "" @@ -8867,13 +8893,13 @@ msgid "Total" msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 -#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3952 +#: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 #: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 msgid "Unit Price" msgstr "单价" #: templates/js/translated/order.js:1952 templates/js/translated/order.js:2155 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3968 +#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3994 msgid "Total Price" msgstr "" @@ -8886,39 +8912,39 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3639 +#: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3640 +#: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3644 +#: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4017 +#: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4018 +#: templates/js/translated/order.js:2205 templates/js/translated/order.js:4044 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4019 +#: templates/js/translated/order.js:2206 templates/js/translated/order.js:4045 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4049 +#: templates/js/translated/order.js:2236 templates/js/translated/order.js:4075 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4070 +#: templates/js/translated/order.js:2257 templates/js/translated/order.js:4096 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4081 +#: templates/js/translated/order.js:2268 templates/js/translated/order.js:4107 msgid "Delete Line" msgstr "" @@ -9011,39 +9037,39 @@ msgstr "" msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:3623 +#: templates/js/translated/order.js:3649 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:3629 +#: templates/js/translated/order.js:3655 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3834 +#: templates/js/translated/order.js:3662 templates/js/translated/order.js:3860 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:3648 +#: templates/js/translated/order.js:3674 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:3651 +#: templates/js/translated/order.js:3677 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:3733 +#: templates/js/translated/order.js:3759 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:3842 +#: templates/js/translated/order.js:3868 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:3856 +#: templates/js/translated/order.js:3882 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4092 +#: templates/js/translated/order.js:4118 msgid "No matching lines" msgstr "" @@ -9375,11 +9401,11 @@ msgstr "" msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/search.js:352 +#: templates/js/translated/search.js:392 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:355 +#: templates/js/translated/search.js:395 msgid "Remove results" msgstr "" @@ -9515,7 +9541,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:216 +#: templates/js/translated/stock.js:887 users/models.py:215 msgid "Add" msgstr "添加" @@ -10250,51 +10276,51 @@ msgstr "用户" msgid "Select which users are assigned to this group" msgstr "选择分配给该组的用户" -#: users/admin.py:184 +#: users/admin.py:191 msgid "The following users are members of multiple groups:" msgstr "以下用户是多个群组的成员:" -#: users/admin.py:207 +#: users/admin.py:214 msgid "Personal info" msgstr "个人资料" -#: users/admin.py:208 +#: users/admin.py:215 msgid "Permissions" msgstr "权限" -#: users/admin.py:211 +#: users/admin.py:218 msgid "Important dates" msgstr "重要日期" -#: users/models.py:203 +#: users/models.py:202 msgid "Permission set" msgstr "权限设置" -#: users/models.py:211 +#: users/models.py:210 msgid "Group" msgstr "群组" -#: users/models.py:214 +#: users/models.py:213 msgid "View" msgstr "视图" -#: users/models.py:214 +#: users/models.py:213 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:216 +#: users/models.py:215 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:218 +#: users/models.py:217 msgid "Change" msgstr "更改" -#: users/models.py:218 +#: users/models.py:217 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:220 +#: users/models.py:219 msgid "Permission to delete items" msgstr "删除项目权限" From 0c8bb7328a52a4a5fce899c2ff2727b1a5b4c962 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 3 Jun 2022 20:20:21 +1000 Subject: [PATCH 2/2] Change view queryset from .all() to .none() (#3125) - For some reason, the reverse URL lookups would fail for stock items which were not "in stock" - e.g. detail pages for stock items would fail to render if the stock item was "destroyed" or "quarantined" - changing the queryset to .none() fixed this - I do not know why... --- InvenTree/stock/api.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index cc427953a8..c955fa12d6 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -90,6 +90,8 @@ class StockMetadata(generics.RetrieveUpdateAPIView): class StockItemContextMixin: """Mixin class for adding StockItem object to serializer context.""" + queryset = StockItem.objects.none() + def get_serializer_context(self): """Extend serializer context.""" context = super().get_serializer_context() @@ -106,7 +108,6 @@ class StockItemContextMixin: class StockItemSerialize(StockItemContextMixin, generics.CreateAPIView): """API endpoint for serializing a stock item.""" - queryset = StockItem.objects.all() serializer_class = StockSerializers.SerializeStockItemSerializer @@ -118,21 +119,18 @@ class StockItemInstall(StockItemContextMixin, generics.CreateAPIView): - stock_item must be serialized (and not belong to another item) """ - queryset = StockItem.objects.all() serializer_class = StockSerializers.InstallStockItemSerializer class StockItemUninstall(StockItemContextMixin, generics.CreateAPIView): """API endpoint for removing (uninstalling) items from this item.""" - queryset = StockItem.objects.all() serializer_class = StockSerializers.UninstallStockItemSerializer class StockItemReturn(StockItemContextMixin, generics.CreateAPIView): """API endpoint for returning a stock item from a customer""" - queryset = StockItem.objects.all() serializer_class = StockSerializers.ReturnStockItemSerializer